TPTP Problem File: ITP045^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP045^1 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer Determinacy problem prob_286__3350038_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : Determinacy/prob_286__3350038_1 [Des21]

% Status   : Theorem
% Rating   : 0.70 v8.2.0, 0.77 v8.1.0, 0.73 v7.5.0
% Syntax   : Number of formulae    :  493 ( 136 unt; 134 typ;   0 def)
%            Number of atoms       : 1123 ( 504 equ;   0 cnn)
%            Maximal formula atoms :   13 (   3 avg)
%            Number of connectives : 4618 ( 162   ~;  47   |;  96   &;3816   @)
%                                         (   0 <=>; 497  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   35 (   8 avg)
%            Number of types       :   27 (  26 usr)
%            Number of type conns  :  968 ( 968   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  111 ( 108 usr;  17 con; 0-4 aty)
%            Number of variables   : 1406 ( 110   ^;1216   !;  80   ?;1406   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 15:31:36.481
%------------------------------------------------------------------------------
% Could-be-implicit typings (26)
thf(ty_n_t__Set__Oset_It__Set__Oset_It__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_J_J,type,
    set_se888453765_r_l_v: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_J,type,
    set_Pr1409704485_r_l_v: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J,type,
    produc1389397445_r_l_v: $tType ).

thf(ty_n_t__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J,type,
    option1457017436_r_l_v: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    produc1156025366_r_l_v: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J,type,
    produc1164766533_r_l_v: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Option__Ooption_Itf__r_J_J_J,type,
    set_set_option_r: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Option__Ooption_Itf__l_J_J_J,type,
    set_set_option_l: $tType ).

thf(ty_n_t__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J,type,
    option_val_r_l_v: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Set__Oset_Itf__r_J_J_J,type,
    set_set_set_r: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_It__Set__Oset_Itf__l_J_J_J,type,
    set_set_set_l: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_Itf__r_J_J,type,
    set_option_r: $tType ).

thf(ty_n_t__Set__Oset_It__Option__Ooption_Itf__l_J_J,type,
    set_option_l: $tType ).

thf(ty_n_t__Data__Ocntxt_Itf__r_Mtf__l_Mtf__v_J,type,
    cntxt_r_l_v: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_Itf__r_J_J,type,
    set_set_r: $tType ).

thf(ty_n_t__Set__Oset_It__Set__Oset_Itf__l_J_J,type,
    set_set_l: $tType ).

thf(ty_n_t__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J,type,
    expr_r_l_v: $tType ).

thf(ty_n_t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    val_r_l_v: $tType ).

thf(ty_n_t__Option__Ooption_Itf__r_J,type,
    option_r: $tType ).

thf(ty_n_t__Option__Ooption_Itf__l_J,type,
    option_l: $tType ).

thf(ty_n_t__Set__Oset_Itf__r_J,type,
    set_r: $tType ).

thf(ty_n_t__Set__Oset_Itf__l_J,type,
    set_l: $tType ).

thf(ty_n_t__Data__Oconst,type,
    const: $tType ).

thf(ty_n_tf__v,type,
    v: $tType ).

thf(ty_n_tf__r,type,
    r: $tType ).

thf(ty_n_tf__l,type,
    l: $tType ).

% Explicit typings (108)
thf(sy_c_Data_Ocombine_001tf__l_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    combine_l_val_r_l_v: ( l > option_val_r_l_v ) > ( l > option_val_r_l_v ) > l > option_val_r_l_v ).

thf(sy_c_Data_Oconst_OF,type,
    f: const ).

thf(sy_c_Data_Oconst_OT,type,
    t: const ).

thf(sy_c_Data_Oconst_OUnit,type,
    unit: const ).

thf(sy_c_Data_Odoms_001tf__l_001tf__r_001tf__v,type,
    doms_l_r_v: produc1156025366_r_l_v > set_l ).

thf(sy_c_Data_Oexpr_OAssign_001tf__r_001tf__l_001tf__v,type,
    assign_r_l_v: expr_r_l_v > expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oexpr_OIte_001tf__r_001tf__l_001tf__v,type,
    ite_r_l_v: expr_r_l_v > expr_r_l_v > expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oexpr_ORead_001tf__r_001tf__l_001tf__v,type,
    read_r_l_v: expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oexpr_ORef_001tf__r_001tf__l_001tf__v,type,
    ref_r_l_v: expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oexpr_ORfork_001tf__r_001tf__l_001tf__v,type,
    rfork_r_l_v: expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oexpr_ORjoin_001tf__r_001tf__l_001tf__v,type,
    rjoin_r_l_v: expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oexpr_OVE_001tf__r_001tf__l_001tf__v,type,
    vE_r_l_v: val_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oplug_001tf__r_001tf__l_001tf__v,type,
    plug_r_l_v: cntxt_r_l_v > expr_r_l_v > expr_r_l_v ).

thf(sy_c_Data_Oval_OCV_001tf__r_001tf__l_001tf__v,type,
    cV_r_l_v: const > val_r_l_v ).

thf(sy_c_Data_Oval_OLoc_001tf__l_001tf__r_001tf__v,type,
    loc_l_r_v: l > val_r_l_v ).

thf(sy_c_Data_Oval_ORid_001tf__r_001tf__l_001tf__v,type,
    rid_r_l_v: r > val_r_l_v ).

thf(sy_c_Executions_Osubstitution_Oexecution_001tf__r_001tf__l_001tf__v,type,
    execution_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > expr_r_l_v > ( r > option1457017436_r_l_v ) > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_Executions_Osubstitution_Oinductive__invariant_001tf__r_001tf__l_001tf__v,type,
    induct1670415253_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > ( ( r > option1457017436_r_l_v ) > $o ) > $o ).

thf(sy_c_Executions_Osubstitution_Omaximal__execution_001tf__r_001tf__l_001tf__v,type,
    maxima311842975_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > expr_r_l_v > ( r > option1457017436_r_l_v ) > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_Executions_Osubstitution_Oreachable_001tf__r_001tf__l_001tf__v,type,
    reachable_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_Executions_Osubstitution_Osteps_001tf__r_001tf__l_001tf__v,type,
    steps_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > set_Pr1409704485_r_l_v ).

thf(sy_c_Executions_Osubstitution_Oterminates__in_001tf__r_001tf__l_001tf__v,type,
    terminates_in_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > expr_r_l_v > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Option__Ooption_Itf__l_J,type,
    finite2114249848tion_l: set_option_l > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Option__Ooption_Itf__r_J,type,
    finite16335230tion_r: set_option_r > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J,type,
    finite1853159534_r_l_v: set_Pr1409704485_r_l_v > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_It__Option__Ooption_Itf__l_J_J,type,
    finite1182752216tion_l: set_set_option_l > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_It__Option__Ooption_Itf__r_J_J,type,
    finite1577687006tion_r: set_set_option_r > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_J,type,
    finite1619243214_r_l_v: set_se888453765_r_l_v > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_It__Set__Oset_Itf__l_J_J,type,
    finite1256628466_set_l: set_set_set_l > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_It__Set__Oset_Itf__r_J_J,type,
    finite1651563256_set_r: set_set_set_r > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_Itf__l_J,type,
    finite_finite_set_l: set_set_l > $o ).

thf(sy_c_Finite__Set_Ofinite_001t__Set__Oset_Itf__r_J,type,
    finite_finite_set_r: set_set_r > $o ).

thf(sy_c_Finite__Set_Ofinite_001tf__l,type,
    finite_finite_l: set_l > $o ).

thf(sy_c_Finite__Set_Ofinite_001tf__r,type,
    finite_finite_r: set_r > $o ).

thf(sy_c_Fun_Ofun__upd_001tf__l_001t__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J,type,
    fun_up1835647912_r_l_v: ( l > option_val_r_l_v ) > l > option_val_r_l_v > l > option_val_r_l_v ).

thf(sy_c_Fun_Ofun__upd_001tf__r_001t__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J,type,
    fun_up709272714_r_l_v: ( r > option1457017436_r_l_v ) > r > option1457017436_r_l_v > r > option1457017436_r_l_v ).

thf(sy_c_If_001t__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J,type,
    if_option_val_r_l_v: $o > option_val_r_l_v > option_val_r_l_v > option_val_r_l_v ).

thf(sy_c_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J,type,
    if_opt1153928738_r_l_v: $o > option1457017436_r_l_v > option1457017436_r_l_v > option1457017436_r_l_v ).

thf(sy_c_Map_Odom_001t__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    dom_Pr939617279_r_l_v: ( produc1389397445_r_l_v > option_val_r_l_v ) > set_Pr1409704485_r_l_v ).

thf(sy_c_Map_Odom_001t__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    dom_Pr1162080227_r_l_v: ( produc1389397445_r_l_v > option1457017436_r_l_v ) > set_Pr1409704485_r_l_v ).

thf(sy_c_Map_Odom_001tf__l_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    dom_l_val_r_l_v: ( l > option_val_r_l_v ) > set_l ).

thf(sy_c_Map_Odom_001tf__l_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    dom_l_45837855_r_l_v: ( l > option1457017436_r_l_v ) > set_l ).

thf(sy_c_Map_Odom_001tf__r_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    dom_r_val_r_l_v: ( r > option_val_r_l_v ) > set_r ).

thf(sy_c_Map_Odom_001tf__r_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    dom_r_259548057_r_l_v: ( r > option1457017436_r_l_v ) > set_r ).

thf(sy_c_Occurrences_OLID_092_060_094sub_062G_001tf__r_001tf__l_001tf__v,type,
    lID_G_r_l_v: ( r > option1457017436_r_l_v ) > set_l ).

thf(sy_c_Occurrences_OLID_092_060_094sub_062L_001tf__l_001tf__r_001tf__v,type,
    lID_L_l_r_v: produc1156025366_r_l_v > set_l ).

thf(sy_c_Occurrences_ORID_092_060_094sub_062G_001tf__r_001tf__l_001tf__v,type,
    rID_G_r_l_v: ( r > option1457017436_r_l_v ) > set_r ).

thf(sy_c_Occurrences_ORID_092_060_094sub_062L_001tf__l_001tf__r_001tf__v,type,
    rID_L_l_r_v: produc1156025366_r_l_v > set_r ).

thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume_001tf__l_001tf__r_001tf__v,type,
    domain87684397_l_r_v: produc1156025366_r_l_v > $o ).

thf(sy_c_OperationalSemantics_Osubstitution_Odomains__subsume__globally_001tf__r_001tf__l_001tf__v,type,
    domain1547879849_r_l_v: ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step_001tf__r_001tf__l_001tf__v,type,
    revision_step_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > r > ( r > option1457017436_r_l_v ) > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_OperationalSemantics_Osubstitution_Orevision__step__relaxed_001tf__r_001tf__l_001tf__v,type,
    revisi1291188644_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > r > ( r > option1457017436_r_l_v ) > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible_001tf__r_001tf__l_001tf__v,type,
    subsum148050133_r_l_v: r > r > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_OperationalSemantics_Osubstitution_Osubsumes__accessible__globally_001tf__r_001tf__l_001tf__v,type,
    subsum680764357_r_l_v: ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_Option_Ooption_ONone_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    none_val_r_l_v: option_val_r_l_v ).

thf(sy_c_Option_Ooption_ONone_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    none_P277133687_r_l_v: option1457017436_r_l_v ).

thf(sy_c_Option_Ooption_OSome_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    some_val_r_l_v: val_r_l_v > option_val_r_l_v ).

thf(sy_c_Option_Ooption_OSome_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    some_P1807977723_r_l_v: produc1156025366_r_l_v > option1457017436_r_l_v ).

thf(sy_c_Option_Ooption_Othe_001t__Data__Oval_Itf__r_Mtf__l_Mtf__v_J,type,
    the_val_r_l_v: option_val_r_l_v > val_r_l_v ).

thf(sy_c_Option_Ooption_Othe_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J,type,
    the_Pr1541010602_r_l_v: option1457017436_r_l_v > produc1156025366_r_l_v ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Option__Ooption_Itf__l_J_J,type,
    ord_le1506375887tion_l: set_option_l > set_option_l > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Option__Ooption_Itf__r_J_J,type,
    ord_le1901310677tion_r: set_option_r > set_option_r > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_J,type,
    ord_le803113413_r_l_v: set_Pr1409704485_r_l_v > set_Pr1409704485_r_l_v > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Set__Oset_Itf__l_J_J,type,
    ord_le2116509289_set_l: set_set_l > set_set_l > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_It__Set__Oset_Itf__r_J_J,type,
    ord_le363960431_set_r: set_set_r > set_set_r > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__l_J,type,
    ord_less_eq_set_l: set_l > set_l > $o ).

thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Set__Oset_Itf__r_J,type,
    ord_less_eq_set_r: set_r > set_r > $o ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Option__Ooption_Itf__l_J_J,type,
    top_top_set_option_l: set_option_l ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_It__Option__Ooption_Itf__r_J_J,type,
    top_top_set_option_r: set_option_r ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_Itf__l_J,type,
    top_top_set_l: set_l ).

thf(sy_c_Orderings_Otop__class_Otop_001t__Set__Oset_Itf__r_J,type,
    top_top_set_r: set_r ).

thf(sy_c_Product__Type_OPair_001_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_001t__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J,type,
    produc1834103605_r_l_v: ( l > option_val_r_l_v ) > expr_r_l_v > produc1164766533_r_l_v ).

thf(sy_c_Product__Type_OPair_001_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_001t__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J,type,
    produc297528454_r_l_v: ( l > option_val_r_l_v ) > produc1164766533_r_l_v > produc1156025366_r_l_v ).

thf(sy_c_Product__Type_OPair_001_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_001_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J,type,
    produc1175464189_r_l_v: ( r > option1457017436_r_l_v ) > ( r > option1457017436_r_l_v ) > produc1389397445_r_l_v ).

thf(sy_c_Renaming_Oeq__states_001tf__r_001tf__l_001tf__v,type,
    eq_states_r_l_v: ( r > option1457017436_r_l_v ) > ( r > option1457017436_r_l_v ) > $o ).

thf(sy_c_Set_OCollect_001t__Option__Ooption_Itf__l_J,type,
    collect_option_l: ( option_l > $o ) > set_option_l ).

thf(sy_c_Set_OCollect_001t__Option__Ooption_Itf__r_J,type,
    collect_option_r: ( option_r > $o ) > set_option_r ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J,type,
    collec1978425008_r_l_v: ( produc1389397445_r_l_v > $o ) > set_Pr1409704485_r_l_v ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Option__Ooption_Itf__l_J_J,type,
    collect_set_option_l: ( set_option_l > $o ) > set_set_option_l ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Option__Ooption_Itf__r_J_J,type,
    collect_set_option_r: ( set_option_r > $o ) > set_set_option_r ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J_J,type,
    collec330370832_r_l_v: ( set_Pr1409704485_r_l_v > $o ) > set_se888453765_r_l_v ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Set__Oset_Itf__l_J_J,type,
    collect_set_set_l: ( set_set_l > $o ) > set_set_set_l ).

thf(sy_c_Set_OCollect_001t__Set__Oset_It__Set__Oset_Itf__r_J_J,type,
    collect_set_set_r: ( set_set_r > $o ) > set_set_set_r ).

thf(sy_c_Set_OCollect_001t__Set__Oset_Itf__l_J,type,
    collect_set_l: ( set_l > $o ) > set_set_l ).

thf(sy_c_Set_OCollect_001t__Set__Oset_Itf__r_J,type,
    collect_set_r: ( set_r > $o ) > set_set_r ).

thf(sy_c_Set_OCollect_001tf__l,type,
    collect_l: ( l > $o ) > set_l ).

thf(sy_c_Set_OCollect_001tf__r,type,
    collect_r: ( r > $o ) > set_r ).

thf(sy_c_Substitution_Osubstitution_001tf__r_001tf__l_001tf__v,type,
    substitution_r_l_v: ( expr_r_l_v > v > expr_r_l_v > expr_r_l_v ) > $o ).

thf(sy_c_Transitive__Closure_Ortrancl_001_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J,type,
    transi1323086383_r_l_v: set_Pr1409704485_r_l_v > set_Pr1409704485_r_l_v ).

thf(sy_c_member_001t__Option__Ooption_Itf__l_J,type,
    member_option_l: option_l > set_option_l > $o ).

thf(sy_c_member_001t__Option__Ooption_Itf__r_J,type,
    member_option_r: option_r > set_option_r > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_I_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_M_062_Itf__r_Mt__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_J_J,type,
    member1522896238_r_l_v: produc1389397445_r_l_v > set_Pr1409704485_r_l_v > $o ).

thf(sy_c_member_001t__Set__Oset_Itf__l_J,type,
    member_set_l: set_l > set_set_l > $o ).

thf(sy_c_member_001t__Set__Oset_Itf__r_J,type,
    member_set_r: set_r > set_set_r > $o ).

thf(sy_c_member_001tf__l,type,
    member_l: l > set_l > $o ).

thf(sy_c_member_001tf__r,type,
    member_r: r > set_r > $o ).

thf(sy_v__092_060E_062,type,
    e: cntxt_r_l_v ).

thf(sy_v__092_060sigma_062,type,
    sigma: l > option_val_r_l_v ).

thf(sy_v__092_060tau_062,type,
    tau: l > option_val_r_l_v ).

thf(sy_v_e,type,
    e2: expr_r_l_v ).

thf(sy_v_r,type,
    r2: r ).

thf(sy_v_r_H,type,
    r3: r ).

thf(sy_v_r_H_H,type,
    r4: r ).

thf(sy_v_s_092_060_094sub_0621,type,
    s_1: r > option1457017436_r_l_v ).

thf(sy_v_s_092_060_094sub_0622,type,
    s_2: r > option1457017436_r_l_v ).

thf(sy_v_s_092_060_094sub_0622_H,type,
    s_22: r > option1457017436_r_l_v ).

thf(sy_v_subst,type,
    subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v ).

thf(sy_v_x,type,
    x: produc1156025366_r_l_v ).

% Relevant facts (353)
thf(fact_0_assms_I4_J,axiom,
    ~ ( member_r @ r4 @ ( rID_G_r_l_v @ s_2 ) ) ).

% assms(4)
thf(fact_1_assms_I7_J,axiom,
    r2 != r4 ).

% assms(7)
thf(fact_2_assms_I6_J,axiom,
    r2 != r3 ).

% assms(6)
thf(fact_3_assms_I1_J,axiom,
    ( s_2
    = ( fun_up709272714_r_l_v @ s_1 @ r2 @ ( some_P1807977723_r_l_v @ x ) ) ) ).

% assms(1)
thf(fact_4_assms_I3_J,axiom,
    ( ( s_2 @ r3 )
    = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ sigma @ ( produc1834103605_r_l_v @ tau @ ( plug_r_l_v @ e @ ( rfork_r_l_v @ e2 ) ) ) ) ) ) ).

% assms(3)
thf(fact_5_assms_I2_J,axiom,
    ( s_22
    = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ s_1 @ r3 @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ sigma @ ( produc1834103605_r_l_v @ tau @ ( plug_r_l_v @ e @ ( vE_r_l_v @ ( rid_r_l_v @ r4 ) ) ) ) ) ) ) @ r4
      @ ( some_P1807977723_r_l_v
        @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ sigma @ tau )
          @ ( produc1834103605_r_l_v
            @ ^ [X: l] : none_val_r_l_v
            @ e2 ) ) ) ) ) ).

% assms(2)
thf(fact_6_revision__step_Ofork,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E2: expr_r_l_v,R2: r] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) )
     => ( ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S ) )
       => ( revision_step_r_l_v @ subst @ R @ S
          @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) @ R2
            @ ( some_P1807977723_r_l_v
              @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau )
                @ ( produc1834103605_r_l_v
                  @ ^ [X: l] : none_val_r_l_v
                  @ E2 ) ) ) ) ) ) ) ).

% revision_step.fork
thf(fact_7_assms_I5_J,axiom,
    ( revision_step_r_l_v @ subst @ r2 @ s_22
    @ ( fun_up709272714_r_l_v
      @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ s_1 @ r3 @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ sigma @ ( produc1834103605_r_l_v @ tau @ ( plug_r_l_v @ e @ ( vE_r_l_v @ ( rid_r_l_v @ r4 ) ) ) ) ) ) ) @ r4
        @ ( some_P1807977723_r_l_v
          @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ sigma @ tau )
            @ ( produc1834103605_r_l_v
              @ ^ [X: l] : none_val_r_l_v
              @ e2 ) ) ) )
      @ r2
      @ ( some_P1807977723_r_l_v @ x ) ) ) ).

% assms(5)
thf(fact_8_restrictions__inwards,axiom,
    ! [X2: r,X3: r,F: r > option1457017436_r_l_v,Y: produc1156025366_r_l_v] :
      ( ( X2 != X3 )
     => ( ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ F @ X2 @ ( some_P1807977723_r_l_v @ Y ) ) @ X3 @ none_P277133687_r_l_v )
        = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ F @ X3 @ none_P277133687_r_l_v ) @ X2 @ ( some_P1807977723_r_l_v @ Y ) ) ) ) ).

% restrictions_inwards
thf(fact_9_restrictions__inwards,axiom,
    ! [X2: l,X3: l,F: l > option_val_r_l_v,Y: val_r_l_v] :
      ( ( X2 != X3 )
     => ( ( fun_up1835647912_r_l_v @ ( fun_up1835647912_r_l_v @ F @ X2 @ ( some_val_r_l_v @ Y ) ) @ X3 @ none_val_r_l_v )
        = ( fun_up1835647912_r_l_v @ ( fun_up1835647912_r_l_v @ F @ X3 @ none_val_r_l_v ) @ X2 @ ( some_val_r_l_v @ Y ) ) ) ) ).

% restrictions_inwards
thf(fact_10_empty__upd__none,axiom,
    ! [X2: l] :
      ( ( fun_up1835647912_r_l_v
        @ ^ [X: l] : none_val_r_l_v
        @ X2
        @ none_val_r_l_v )
      = ( ^ [X: l] : none_val_r_l_v ) ) ).

% empty_upd_none
thf(fact_11_empty__upd__none,axiom,
    ! [X2: r] :
      ( ( fun_up709272714_r_l_v
        @ ^ [X: r] : none_P277133687_r_l_v
        @ X2
        @ none_P277133687_r_l_v )
      = ( ^ [X: r] : none_P277133687_r_l_v ) ) ).

% empty_upd_none
thf(fact_12_not__None__eq,axiom,
    ! [X2: option1457017436_r_l_v] :
      ( ( X2 != none_P277133687_r_l_v )
      = ( ? [Y2: produc1156025366_r_l_v] :
            ( X2
            = ( some_P1807977723_r_l_v @ Y2 ) ) ) ) ).

% not_None_eq
thf(fact_13_not__None__eq,axiom,
    ! [X2: option_val_r_l_v] :
      ( ( X2 != none_val_r_l_v )
      = ( ? [Y2: val_r_l_v] :
            ( X2
            = ( some_val_r_l_v @ Y2 ) ) ) ) ).

% not_None_eq
thf(fact_14_not__Some__eq,axiom,
    ! [X2: option1457017436_r_l_v] :
      ( ( ! [Y2: produc1156025366_r_l_v] :
            ( X2
           != ( some_P1807977723_r_l_v @ Y2 ) ) )
      = ( X2 = none_P277133687_r_l_v ) ) ).

% not_Some_eq
thf(fact_15_not__Some__eq,axiom,
    ! [X2: option_val_r_l_v] :
      ( ( ! [Y2: val_r_l_v] :
            ( X2
           != ( some_val_r_l_v @ Y2 ) ) )
      = ( X2 = none_val_r_l_v ) ) ).

% not_Some_eq
thf(fact_16_map__upd__nonempty,axiom,
    ! [T: r > option1457017436_r_l_v,K: r,X2: produc1156025366_r_l_v] :
      ( ( fun_up709272714_r_l_v @ T @ K @ ( some_P1807977723_r_l_v @ X2 ) )
     != ( ^ [X: r] : none_P277133687_r_l_v ) ) ).

% map_upd_nonempty
thf(fact_17_map__upd__nonempty,axiom,
    ! [T: l > option_val_r_l_v,K: l,X2: val_r_l_v] :
      ( ( fun_up1835647912_r_l_v @ T @ K @ ( some_val_r_l_v @ X2 ) )
     != ( ^ [X: l] : none_val_r_l_v ) ) ).

% map_upd_nonempty
thf(fact_18_fork__pseudodeterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E2: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( ? [R3: r] :
              ( ~ ( member_r @ R3 @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) ) ) )
              & ( S2
                = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( rid_r_l_v @ R3 ) ) ) ) ) ) ) @ R3
                  @ ( some_P1807977723_r_l_v
                    @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau )
                      @ ( produc1834103605_r_l_v
                        @ ^ [X: l] : none_val_r_l_v
                        @ E2 ) ) ) ) ) ) ) ) ) ).

% fork_pseudodeterministic
thf(fact_19_revision__step__relaxed_Ofork,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E2: expr_r_l_v,R2: r] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) )
     => ( ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S ) )
       => ( revisi1291188644_r_l_v @ subst @ R @ S
          @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) @ R2
            @ ( some_P1807977723_r_l_v
              @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau )
                @ ( produc1834103605_r_l_v
                  @ ^ [X: l] : none_val_r_l_v
                  @ E2 ) ) ) ) ) ) ) ).

% revision_step_relaxed.fork
thf(fact_20_val_Oinject_I4_J,axiom,
    ! [X4: r,Y4: r] :
      ( ( ( rid_r_l_v @ X4 )
        = ( rid_r_l_v @ Y4 ) )
      = ( X4 = Y4 ) ) ).

% val.inject(4)
thf(fact_21_injective__cntxt,axiom,
    ! [E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( ( plug_r_l_v @ E @ E1 )
        = ( plug_r_l_v @ E @ E22 ) )
      = ( E1 = E22 ) ) ).

% injective_cntxt
thf(fact_22_expr_Oinject_I1_J,axiom,
    ! [X1: val_r_l_v,Y1: val_r_l_v] :
      ( ( ( vE_r_l_v @ X1 )
        = ( vE_r_l_v @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% expr.inject(1)
thf(fact_23_fun__upd__upd,axiom,
    ! [F: r > option1457017436_r_l_v,X2: r,Y: option1457017436_r_l_v,Z: option1457017436_r_l_v] :
      ( ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ F @ X2 @ Y ) @ X2 @ Z )
      = ( fun_up709272714_r_l_v @ F @ X2 @ Z ) ) ).

% fun_upd_upd
thf(fact_24_fun__upd__upd,axiom,
    ! [F: l > option_val_r_l_v,X2: l,Y: option_val_r_l_v,Z: option_val_r_l_v] :
      ( ( fun_up1835647912_r_l_v @ ( fun_up1835647912_r_l_v @ F @ X2 @ Y ) @ X2 @ Z )
      = ( fun_up1835647912_r_l_v @ F @ X2 @ Z ) ) ).

% fun_upd_upd
thf(fact_25_fun__upd__triv,axiom,
    ! [F: r > option1457017436_r_l_v,X2: r] :
      ( ( fun_up709272714_r_l_v @ F @ X2 @ ( F @ X2 ) )
      = F ) ).

% fun_upd_triv
thf(fact_26_fun__upd__triv,axiom,
    ! [F: l > option_val_r_l_v,X2: l] :
      ( ( fun_up1835647912_r_l_v @ F @ X2 @ ( F @ X2 ) )
      = F ) ).

% fun_upd_triv
thf(fact_27_option_Oinject,axiom,
    ! [X22: produc1156025366_r_l_v,Y22: produc1156025366_r_l_v] :
      ( ( ( some_P1807977723_r_l_v @ X22 )
        = ( some_P1807977723_r_l_v @ Y22 ) )
      = ( X22 = Y22 ) ) ).

% option.inject
thf(fact_28_option_Oinject,axiom,
    ! [X22: val_r_l_v,Y22: val_r_l_v] :
      ( ( ( some_val_r_l_v @ X22 )
        = ( some_val_r_l_v @ Y22 ) )
      = ( X22 = Y22 ) ) ).

% option.inject
thf(fact_29_fun__upd__apply,axiom,
    ( fun_up709272714_r_l_v
    = ( ^ [F2: r > option1457017436_r_l_v,X: r,Y2: option1457017436_r_l_v,Z2: r] : ( if_opt1153928738_r_l_v @ ( Z2 = X ) @ Y2 @ ( F2 @ Z2 ) ) ) ) ).

% fun_upd_apply
thf(fact_30_fun__upd__apply,axiom,
    ( fun_up1835647912_r_l_v
    = ( ^ [F2: l > option_val_r_l_v,X: l,Y2: option_val_r_l_v,Z2: l] : ( if_option_val_r_l_v @ ( Z2 = X ) @ Y2 @ ( F2 @ Z2 ) ) ) ) ).

% fun_upd_apply
thf(fact_31_expr_Oinject_I7_J,axiom,
    ! [X7: expr_r_l_v,Y7: expr_r_l_v] :
      ( ( ( rfork_r_l_v @ X7 )
        = ( rfork_r_l_v @ Y7 ) )
      = ( X7 = Y7 ) ) ).

% expr.inject(7)
thf(fact_32_RID_092_060_094sub_062GI_I1_J,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,V: produc1156025366_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ V ) )
     => ( member_r @ R @ ( rID_G_r_l_v @ S ) ) ) ).

% RID\<^sub>GI(1)
thf(fact_33_in__restricted__global__in__unrestricted__global_I1_J,axiom,
    ! [R2: r,S: r > option1457017436_r_l_v,R: r] :
      ( ( member_r @ R2 @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
     => ( member_r @ R2 @ ( rID_G_r_l_v @ S ) ) ) ).

% in_restricted_global_in_unrestricted_global(1)
thf(fact_34_only__fork__introduces__rids_H,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v,R2: r] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,E4: expr_r_l_v] :
            ( ( S @ R )
           != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( rfork_r_l_v @ E4 ) ) ) ) ) )
       => ( ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S ) )
         => ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S2 ) ) ) ) ) ).

% only_fork_introduces_rids'
thf(fact_35_in__restricted__global__in__updated__global_I1_J,axiom,
    ! [R2: r,S: r > option1457017436_r_l_v,R: r,Ls: produc1156025366_r_l_v] :
      ( ( member_r @ R2 @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
     => ( member_r @ R2 @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ Ls ) ) ) ) ) ).

% in_restricted_global_in_updated_global(1)
thf(fact_36_substitution__axioms,axiom,
    substitution_r_l_v @ subst ).

% substitution_axioms
thf(fact_37_expr_Odistinct_I11_J,axiom,
    ! [X1: val_r_l_v,X7: expr_r_l_v] :
      ( ( vE_r_l_v @ X1 )
     != ( rfork_r_l_v @ X7 ) ) ).

% expr.distinct(11)
thf(fact_38_fun__upd__idem__iff,axiom,
    ! [F: r > option1457017436_r_l_v,X2: r,Y: option1457017436_r_l_v] :
      ( ( ( fun_up709272714_r_l_v @ F @ X2 @ Y )
        = F )
      = ( ( F @ X2 )
        = Y ) ) ).

% fun_upd_idem_iff
thf(fact_39_fun__upd__idem__iff,axiom,
    ! [F: l > option_val_r_l_v,X2: l,Y: option_val_r_l_v] :
      ( ( ( fun_up1835647912_r_l_v @ F @ X2 @ Y )
        = F )
      = ( ( F @ X2 )
        = Y ) ) ).

% fun_upd_idem_iff
thf(fact_40_fun__upd__twist,axiom,
    ! [A: r,C: r,M: r > option1457017436_r_l_v,B: option1457017436_r_l_v,D: option1457017436_r_l_v] :
      ( ( A != C )
     => ( ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ M @ A @ B ) @ C @ D )
        = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ M @ C @ D ) @ A @ B ) ) ) ).

% fun_upd_twist
thf(fact_41_fun__upd__twist,axiom,
    ! [A: l,C: l,M: l > option_val_r_l_v,B: option_val_r_l_v,D: option_val_r_l_v] :
      ( ( A != C )
     => ( ( fun_up1835647912_r_l_v @ ( fun_up1835647912_r_l_v @ M @ A @ B ) @ C @ D )
        = ( fun_up1835647912_r_l_v @ ( fun_up1835647912_r_l_v @ M @ C @ D ) @ A @ B ) ) ) ).

% fun_upd_twist
thf(fact_42_fun__upd__other,axiom,
    ! [Z: r,X2: r,F: r > option1457017436_r_l_v,Y: option1457017436_r_l_v] :
      ( ( Z != X2 )
     => ( ( fun_up709272714_r_l_v @ F @ X2 @ Y @ Z )
        = ( F @ Z ) ) ) ).

% fun_upd_other
thf(fact_43_fun__upd__other,axiom,
    ! [Z: l,X2: l,F: l > option_val_r_l_v,Y: option_val_r_l_v] :
      ( ( Z != X2 )
     => ( ( fun_up1835647912_r_l_v @ F @ X2 @ Y @ Z )
        = ( F @ Z ) ) ) ).

% fun_upd_other
thf(fact_44_fun__upd__same,axiom,
    ! [F: r > option1457017436_r_l_v,X2: r,Y: option1457017436_r_l_v] :
      ( ( fun_up709272714_r_l_v @ F @ X2 @ Y @ X2 )
      = Y ) ).

% fun_upd_same
thf(fact_45_fun__upd__same,axiom,
    ! [F: l > option_val_r_l_v,X2: l,Y: option_val_r_l_v] :
      ( ( fun_up1835647912_r_l_v @ F @ X2 @ Y @ X2 )
      = Y ) ).

% fun_upd_same
thf(fact_46_fun__upd__idem,axiom,
    ! [F: r > option1457017436_r_l_v,X2: r,Y: option1457017436_r_l_v] :
      ( ( ( F @ X2 )
        = Y )
     => ( ( fun_up709272714_r_l_v @ F @ X2 @ Y )
        = F ) ) ).

% fun_upd_idem
thf(fact_47_fun__upd__idem,axiom,
    ! [F: l > option_val_r_l_v,X2: l,Y: option_val_r_l_v] :
      ( ( ( F @ X2 )
        = Y )
     => ( ( fun_up1835647912_r_l_v @ F @ X2 @ Y )
        = F ) ) ).

% fun_upd_idem
thf(fact_48_fun__upd__eqD,axiom,
    ! [F: r > option1457017436_r_l_v,X2: r,Y: option1457017436_r_l_v,G: r > option1457017436_r_l_v,Z: option1457017436_r_l_v] :
      ( ( ( fun_up709272714_r_l_v @ F @ X2 @ Y )
        = ( fun_up709272714_r_l_v @ G @ X2 @ Z ) )
     => ( Y = Z ) ) ).

% fun_upd_eqD
thf(fact_49_fun__upd__eqD,axiom,
    ! [F: l > option_val_r_l_v,X2: l,Y: option_val_r_l_v,G: l > option_val_r_l_v,Z: option_val_r_l_v] :
      ( ( ( fun_up1835647912_r_l_v @ F @ X2 @ Y )
        = ( fun_up1835647912_r_l_v @ G @ X2 @ Z ) )
     => ( Y = Z ) ) ).

% fun_upd_eqD
thf(fact_50_fun__upd__def,axiom,
    ( fun_up709272714_r_l_v
    = ( ^ [F2: r > option1457017436_r_l_v,A2: r,B2: option1457017436_r_l_v,X: r] : ( if_opt1153928738_r_l_v @ ( X = A2 ) @ B2 @ ( F2 @ X ) ) ) ) ).

% fun_upd_def
thf(fact_51_fun__upd__def,axiom,
    ( fun_up1835647912_r_l_v
    = ( ^ [F2: l > option_val_r_l_v,A2: l,B2: option_val_r_l_v,X: l] : ( if_option_val_r_l_v @ ( X = A2 ) @ B2 @ ( F2 @ X ) ) ) ) ).

% fun_upd_def
thf(fact_52_combine__options__cases,axiom,
    ! [X2: option1457017436_r_l_v,P: option1457017436_r_l_v > option1457017436_r_l_v > $o,Y: option1457017436_r_l_v] :
      ( ( ( X2 = none_P277133687_r_l_v )
       => ( P @ X2 @ Y ) )
     => ( ( ( Y = none_P277133687_r_l_v )
         => ( P @ X2 @ Y ) )
       => ( ! [A3: produc1156025366_r_l_v,B3: produc1156025366_r_l_v] :
              ( ( X2
                = ( some_P1807977723_r_l_v @ A3 ) )
             => ( ( Y
                  = ( some_P1807977723_r_l_v @ B3 ) )
               => ( P @ X2 @ Y ) ) )
         => ( P @ X2 @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_53_combine__options__cases,axiom,
    ! [X2: option1457017436_r_l_v,P: option1457017436_r_l_v > option_val_r_l_v > $o,Y: option_val_r_l_v] :
      ( ( ( X2 = none_P277133687_r_l_v )
       => ( P @ X2 @ Y ) )
     => ( ( ( Y = none_val_r_l_v )
         => ( P @ X2 @ Y ) )
       => ( ! [A3: produc1156025366_r_l_v,B3: val_r_l_v] :
              ( ( X2
                = ( some_P1807977723_r_l_v @ A3 ) )
             => ( ( Y
                  = ( some_val_r_l_v @ B3 ) )
               => ( P @ X2 @ Y ) ) )
         => ( P @ X2 @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_54_combine__options__cases,axiom,
    ! [X2: option_val_r_l_v,P: option_val_r_l_v > option1457017436_r_l_v > $o,Y: option1457017436_r_l_v] :
      ( ( ( X2 = none_val_r_l_v )
       => ( P @ X2 @ Y ) )
     => ( ( ( Y = none_P277133687_r_l_v )
         => ( P @ X2 @ Y ) )
       => ( ! [A3: val_r_l_v,B3: produc1156025366_r_l_v] :
              ( ( X2
                = ( some_val_r_l_v @ A3 ) )
             => ( ( Y
                  = ( some_P1807977723_r_l_v @ B3 ) )
               => ( P @ X2 @ Y ) ) )
         => ( P @ X2 @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_55_combine__options__cases,axiom,
    ! [X2: option_val_r_l_v,P: option_val_r_l_v > option_val_r_l_v > $o,Y: option_val_r_l_v] :
      ( ( ( X2 = none_val_r_l_v )
       => ( P @ X2 @ Y ) )
     => ( ( ( Y = none_val_r_l_v )
         => ( P @ X2 @ Y ) )
       => ( ! [A3: val_r_l_v,B3: val_r_l_v] :
              ( ( X2
                = ( some_val_r_l_v @ A3 ) )
             => ( ( Y
                  = ( some_val_r_l_v @ B3 ) )
               => ( P @ X2 @ Y ) ) )
         => ( P @ X2 @ Y ) ) ) ) ).

% combine_options_cases
thf(fact_56_split__option__all,axiom,
    ( ( ^ [P2: option1457017436_r_l_v > $o] :
        ! [X5: option1457017436_r_l_v] : ( P2 @ X5 ) )
    = ( ^ [P3: option1457017436_r_l_v > $o] :
          ( ( P3 @ none_P277133687_r_l_v )
          & ! [X: produc1156025366_r_l_v] : ( P3 @ ( some_P1807977723_r_l_v @ X ) ) ) ) ) ).

% split_option_all
thf(fact_57_split__option__all,axiom,
    ( ( ^ [P2: option_val_r_l_v > $o] :
        ! [X5: option_val_r_l_v] : ( P2 @ X5 ) )
    = ( ^ [P3: option_val_r_l_v > $o] :
          ( ( P3 @ none_val_r_l_v )
          & ! [X: val_r_l_v] : ( P3 @ ( some_val_r_l_v @ X ) ) ) ) ) ).

% split_option_all
thf(fact_58_split__option__ex,axiom,
    ( ( ^ [P2: option1457017436_r_l_v > $o] :
        ? [X5: option1457017436_r_l_v] : ( P2 @ X5 ) )
    = ( ^ [P3: option1457017436_r_l_v > $o] :
          ( ( P3 @ none_P277133687_r_l_v )
          | ? [X: produc1156025366_r_l_v] : ( P3 @ ( some_P1807977723_r_l_v @ X ) ) ) ) ) ).

% split_option_ex
thf(fact_59_split__option__ex,axiom,
    ( ( ^ [P2: option_val_r_l_v > $o] :
        ? [X5: option_val_r_l_v] : ( P2 @ X5 ) )
    = ( ^ [P3: option_val_r_l_v > $o] :
          ( ( P3 @ none_val_r_l_v )
          | ? [X: val_r_l_v] : ( P3 @ ( some_val_r_l_v @ X ) ) ) ) ) ).

% split_option_ex
thf(fact_60_option_Oinducts,axiom,
    ! [P: option1457017436_r_l_v > $o,Option: option1457017436_r_l_v] :
      ( ( P @ none_P277133687_r_l_v )
     => ( ! [X6: produc1156025366_r_l_v] : ( P @ ( some_P1807977723_r_l_v @ X6 ) )
       => ( P @ Option ) ) ) ).

% option.inducts
thf(fact_61_option_Oinducts,axiom,
    ! [P: option_val_r_l_v > $o,Option: option_val_r_l_v] :
      ( ( P @ none_val_r_l_v )
     => ( ! [X6: val_r_l_v] : ( P @ ( some_val_r_l_v @ X6 ) )
       => ( P @ Option ) ) ) ).

% option.inducts
thf(fact_62_option_Oexhaust,axiom,
    ! [Y: option1457017436_r_l_v] :
      ( ( Y != none_P277133687_r_l_v )
     => ~ ! [X23: produc1156025366_r_l_v] :
            ( Y
           != ( some_P1807977723_r_l_v @ X23 ) ) ) ).

% option.exhaust
thf(fact_63_option_Oexhaust,axiom,
    ! [Y: option_val_r_l_v] :
      ( ( Y != none_val_r_l_v )
     => ~ ! [X23: val_r_l_v] :
            ( Y
           != ( some_val_r_l_v @ X23 ) ) ) ).

% option.exhaust
thf(fact_64_option_OdiscI,axiom,
    ! [Option: option1457017436_r_l_v,X22: produc1156025366_r_l_v] :
      ( ( Option
        = ( some_P1807977723_r_l_v @ X22 ) )
     => ( Option != none_P277133687_r_l_v ) ) ).

% option.discI
thf(fact_65_option_OdiscI,axiom,
    ! [Option: option_val_r_l_v,X22: val_r_l_v] :
      ( ( Option
        = ( some_val_r_l_v @ X22 ) )
     => ( Option != none_val_r_l_v ) ) ).

% option.discI
thf(fact_66_option_Odistinct_I1_J,axiom,
    ! [X22: produc1156025366_r_l_v] :
      ( none_P277133687_r_l_v
     != ( some_P1807977723_r_l_v @ X22 ) ) ).

% option.distinct(1)
thf(fact_67_option_Odistinct_I1_J,axiom,
    ! [X22: val_r_l_v] :
      ( none_val_r_l_v
     != ( some_val_r_l_v @ X22 ) ) ).

% option.distinct(1)
thf(fact_68_mem__Collect__eq,axiom,
    ! [A: set_l,P: set_l > $o] :
      ( ( member_set_l @ A @ ( collect_set_l @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_69_mem__Collect__eq,axiom,
    ! [A: set_r,P: set_r > $o] :
      ( ( member_set_r @ A @ ( collect_set_r @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_70_mem__Collect__eq,axiom,
    ! [A: r,P: r > $o] :
      ( ( member_r @ A @ ( collect_r @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_71_mem__Collect__eq,axiom,
    ! [A: produc1389397445_r_l_v,P: produc1389397445_r_l_v > $o] :
      ( ( member1522896238_r_l_v @ A @ ( collec1978425008_r_l_v @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_72_mem__Collect__eq,axiom,
    ! [A: l,P: l > $o] :
      ( ( member_l @ A @ ( collect_l @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_73_Collect__mem__eq,axiom,
    ! [A4: set_set_l] :
      ( ( collect_set_l
        @ ^ [X: set_l] : ( member_set_l @ X @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_74_Collect__mem__eq,axiom,
    ! [A4: set_set_r] :
      ( ( collect_set_r
        @ ^ [X: set_r] : ( member_set_r @ X @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_75_Collect__mem__eq,axiom,
    ! [A4: set_r] :
      ( ( collect_r
        @ ^ [X: r] : ( member_r @ X @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_76_Collect__mem__eq,axiom,
    ! [A4: set_Pr1409704485_r_l_v] :
      ( ( collec1978425008_r_l_v
        @ ^ [X: produc1389397445_r_l_v] : ( member1522896238_r_l_v @ X @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_77_Collect__mem__eq,axiom,
    ! [A4: set_l] :
      ( ( collect_l
        @ ^ [X: l] : ( member_l @ X @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_78_Collect__cong,axiom,
    ! [P: l > $o,Q: l > $o] :
      ( ! [X6: l] :
          ( ( P @ X6 )
          = ( Q @ X6 ) )
     => ( ( collect_l @ P )
        = ( collect_l @ Q ) ) ) ).

% Collect_cong
thf(fact_79_Collect__cong,axiom,
    ! [P: produc1389397445_r_l_v > $o,Q: produc1389397445_r_l_v > $o] :
      ( ! [X6: produc1389397445_r_l_v] :
          ( ( P @ X6 )
          = ( Q @ X6 ) )
     => ( ( collec1978425008_r_l_v @ P )
        = ( collec1978425008_r_l_v @ Q ) ) ) ).

% Collect_cong
thf(fact_80_Collect__cong,axiom,
    ! [P: r > $o,Q: r > $o] :
      ( ! [X6: r] :
          ( ( P @ X6 )
          = ( Q @ X6 ) )
     => ( ( collect_r @ P )
        = ( collect_r @ Q ) ) ) ).

% Collect_cong
thf(fact_81_Collect__cong,axiom,
    ! [P: set_l > $o,Q: set_l > $o] :
      ( ! [X6: set_l] :
          ( ( P @ X6 )
          = ( Q @ X6 ) )
     => ( ( collect_set_l @ P )
        = ( collect_set_l @ Q ) ) ) ).

% Collect_cong
thf(fact_82_Collect__cong,axiom,
    ! [P: set_r > $o,Q: set_r > $o] :
      ( ! [X6: set_r] :
          ( ( P @ X6 )
          = ( Q @ X6 ) )
     => ( ( collect_set_r @ P )
        = ( collect_set_r @ Q ) ) ) ).

% Collect_cong
thf(fact_83_map__upd__Some__unfold,axiom,
    ! [M: r > option1457017436_r_l_v,A: r,B: produc1156025366_r_l_v,X2: r,Y: produc1156025366_r_l_v] :
      ( ( ( fun_up709272714_r_l_v @ M @ A @ ( some_P1807977723_r_l_v @ B ) @ X2 )
        = ( some_P1807977723_r_l_v @ Y ) )
      = ( ( ( X2 = A )
          & ( B = Y ) )
        | ( ( X2 != A )
          & ( ( M @ X2 )
            = ( some_P1807977723_r_l_v @ Y ) ) ) ) ) ).

% map_upd_Some_unfold
thf(fact_84_map__upd__Some__unfold,axiom,
    ! [M: l > option_val_r_l_v,A: l,B: val_r_l_v,X2: l,Y: val_r_l_v] :
      ( ( ( fun_up1835647912_r_l_v @ M @ A @ ( some_val_r_l_v @ B ) @ X2 )
        = ( some_val_r_l_v @ Y ) )
      = ( ( ( X2 = A )
          & ( B = Y ) )
        | ( ( X2 != A )
          & ( ( M @ X2 )
            = ( some_val_r_l_v @ Y ) ) ) ) ) ).

% map_upd_Some_unfold
thf(fact_85_map__upd__triv,axiom,
    ! [T: r > option1457017436_r_l_v,K: r,X2: produc1156025366_r_l_v] :
      ( ( ( T @ K )
        = ( some_P1807977723_r_l_v @ X2 ) )
     => ( ( fun_up709272714_r_l_v @ T @ K @ ( some_P1807977723_r_l_v @ X2 ) )
        = T ) ) ).

% map_upd_triv
thf(fact_86_map__upd__triv,axiom,
    ! [T: l > option_val_r_l_v,K: l,X2: val_r_l_v] :
      ( ( ( T @ K )
        = ( some_val_r_l_v @ X2 ) )
     => ( ( fun_up1835647912_r_l_v @ T @ K @ ( some_val_r_l_v @ X2 ) )
        = T ) ) ).

% map_upd_triv
thf(fact_87_map__upd__eqD1,axiom,
    ! [M: r > option1457017436_r_l_v,A: r,X2: produc1156025366_r_l_v,N: r > option1457017436_r_l_v,Y: produc1156025366_r_l_v] :
      ( ( ( fun_up709272714_r_l_v @ M @ A @ ( some_P1807977723_r_l_v @ X2 ) )
        = ( fun_up709272714_r_l_v @ N @ A @ ( some_P1807977723_r_l_v @ Y ) ) )
     => ( X2 = Y ) ) ).

% map_upd_eqD1
thf(fact_88_map__upd__eqD1,axiom,
    ! [M: l > option_val_r_l_v,A: l,X2: val_r_l_v,N: l > option_val_r_l_v,Y: val_r_l_v] :
      ( ( ( fun_up1835647912_r_l_v @ M @ A @ ( some_val_r_l_v @ X2 ) )
        = ( fun_up1835647912_r_l_v @ N @ A @ ( some_val_r_l_v @ Y ) ) )
     => ( X2 = Y ) ) ).

% map_upd_eqD1
thf(fact_89_LID__local__store_Oinduct,axiom,
    ! [P: produc1156025366_r_l_v > $o,A0: produc1156025366_r_l_v] :
      ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E4: expr_r_l_v] : ( P @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ E4 ) ) )
     => ( P @ A0 ) ) ).

% LID_local_store.induct
thf(fact_90_LID__local__store_Ocases,axiom,
    ! [X2: produc1156025366_r_l_v] :
      ~ ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E4: expr_r_l_v] :
          ( X2
         != ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ E4 ) ) ) ).

% LID_local_store.cases
thf(fact_91_combine_Osimps,axiom,
    ( combine_l_val_r_l_v
    = ( ^ [F2: l > option_val_r_l_v,G2: l > option_val_r_l_v,X: l] :
          ( if_option_val_r_l_v
          @ ( ( G2 @ X )
            = none_val_r_l_v )
          @ ( F2 @ X )
          @ ( G2 @ X ) ) ) ) ).

% combine.simps
thf(fact_92_combine_Oelims,axiom,
    ! [X2: l > option_val_r_l_v,Xa: l > option_val_r_l_v,Xb: l,Y: option_val_r_l_v] :
      ( ( ( combine_l_val_r_l_v @ X2 @ Xa @ Xb )
        = Y )
     => ( ( ( ( Xa @ Xb )
            = none_val_r_l_v )
         => ( Y
            = ( X2 @ Xb ) ) )
        & ( ( ( Xa @ Xb )
           != none_val_r_l_v )
         => ( Y
            = ( Xa @ Xb ) ) ) ) ) ).

% combine.elims
thf(fact_93_local__steps__commute,axiom,
    ! [S_2: r > option1457017436_r_l_v,S_1: r > option1457017436_r_l_v,R: r,X2: produc1156025366_r_l_v,S_22: r > option1457017436_r_l_v,R2: r,Y: produc1156025366_r_l_v] :
      ( ( S_2
        = ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ X2 ) ) )
     => ( ( S_22
          = ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) )
       => ( ( revision_step_r_l_v @ subst @ R2 @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ X2 ) ) @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ X2 ) ) @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) )
         => ( ( revision_step_r_l_v @ subst @ R @ ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) @ R @ ( some_P1807977723_r_l_v @ X2 ) ) )
           => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                ( ( eq_states_r_l_v @ S_3 @ S_32 )
                & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_3 )
                  | ( S_2 = S_3 ) )
                & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_32 )
                  | ( S_22 = S_32 ) ) ) ) ) ) ) ).

% local_steps_commute
thf(fact_94_revision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
     => ( ( ( S @ R2 )
          = none_P277133687_r_l_v )
       => ( revisi1291188644_r_l_v @ subst @ R @ S
          @ ^ [X: r] : none_P277133687_r_l_v ) ) ) ).

% revision_step_relaxed.join\<^sub>\<epsilon>
thf(fact_95_revision__step_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
     => ( ( ( S @ R2 )
          = none_P277133687_r_l_v )
       => ( revision_step_r_l_v @ subst @ R @ S
          @ ^ [X: r] : none_P277133687_r_l_v ) ) ) ).

% revision_step.join\<^sub>\<epsilon>
thf(fact_96_transition__relations__equivalent,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,S2: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( revisi1291188644_r_l_v @ subst @ R @ S @ S2 ) ) ) ).

% transition_relations_equivalent
thf(fact_97_SLC__commute,axiom,
    ! [S_33: r > option1457017436_r_l_v,S_34: r > option1457017436_r_l_v,R2: r,S_2: r > option1457017436_r_l_v,R: r,S_22: r > option1457017436_r_l_v] :
      ( ( S_33 = S_34 )
     => ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_33 )
       => ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_34 )
         => ( ( eq_states_r_l_v @ S_33 @ S_34 )
            & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_33 )
              | ( S_2 = S_33 ) )
            & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_34 )
              | ( S_22 = S_34 ) ) ) ) ) ) ).

% SLC_commute
thf(fact_98_SLC__sym,axiom,
    ! [R2: r,S_2: r > option1457017436_r_l_v,R: r,S_22: r > option1457017436_r_l_v] :
      ( ? [S_35: r > option1457017436_r_l_v,S_36: r > option1457017436_r_l_v] :
          ( ( eq_states_r_l_v @ S_35 @ S_36 )
          & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_35 )
            | ( S_2 = S_35 ) )
          & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_36 )
            | ( S_22 = S_36 ) ) )
     => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
          ( ( eq_states_r_l_v @ S_3 @ S_32 )
          & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_3 )
            | ( S_22 = S_3 ) )
          & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_32 )
            | ( S_2 = S_32 ) ) ) ) ).

% SLC_sym
thf(fact_99_local__determinism,axiom,
    ! [R: r,S_1: r > option1457017436_r_l_v,S_2: r > option1457017436_r_l_v,S_22: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S_1 @ S_2 )
     => ( ( revision_step_r_l_v @ subst @ R @ S_1 @ S_22 )
       => ( eq_states_r_l_v @ S_2 @ S_22 ) ) ) ).

% local_determinism
thf(fact_100_reachability__closed__under__execution__step,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,S2: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
       => ( reachable_r_l_v @ subst @ S2 ) ) ) ).

% reachability_closed_under_execution_step
thf(fact_101_only__fork__introduces__rids,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,E4: expr_r_l_v] :
            ( ( S @ R )
           != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( rfork_r_l_v @ E4 ) ) ) ) ) )
       => ( ord_less_eq_set_r @ ( rID_G_r_l_v @ S2 ) @ ( rID_G_r_l_v @ S ) ) ) ) ).

% only_fork_introduces_rids
thf(fact_102_substitution_Ofork__pseudodeterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E2: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( ? [R3: r] :
                ( ~ ( member_r @ R3 @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) ) ) )
                & ( S2
                  = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( rid_r_l_v @ R3 ) ) ) ) ) ) ) @ R3
                    @ ( some_P1807977723_r_l_v
                      @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau )
                        @ ( produc1834103605_r_l_v
                          @ ^ [X: l] : none_val_r_l_v
                          @ E2 ) ) ) ) ) ) ) ) ) ) ).

% substitution.fork_pseudodeterministic
thf(fact_103_expr_Oinject_I8_J,axiom,
    ! [X8: expr_r_l_v,Y8: expr_r_l_v] :
      ( ( ( rjoin_r_l_v @ X8 )
        = ( rjoin_r_l_v @ Y8 ) )
      = ( X8 = Y8 ) ) ).

% expr.inject(8)
thf(fact_104_SLC__join_092_060_094sub_062_092_060epsilon_062,axiom,
    ! [S_1: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R4: r,S_2: r > option1457017436_r_l_v,R2: r,S_22: r > option1457017436_r_l_v] :
      ( ( ( S_1 @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R4 ) ) ) ) ) ) ) )
     => ( ( S_2
          = ( ^ [X: r] : none_P277133687_r_l_v ) )
       => ( ( ( S_1 @ R4 )
            = none_P277133687_r_l_v )
         => ( ( revision_step_r_l_v @ subst @ R2 @ S_1 @ S_22 )
           => ( ( R != R2 )
             => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                  ( ( eq_states_r_l_v @ S_3 @ S_32 )
                  & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_3 )
                    | ( S_2 = S_3 ) )
                  & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_32 )
                    | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).

% SLC_join\<^sub>\<epsilon>
thf(fact_105_reachable__def,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
      = ( ? [E5: expr_r_l_v,S3: r > option1457017436_r_l_v] : ( execution_r_l_v @ subst @ E5 @ S3 @ S ) ) ) ).

% reachable_def
thf(fact_106_rjoin_092_060_094sub_062_092_060epsilon_062__deterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
     => ( ( ( S @ R2 )
          = none_P277133687_r_l_v )
       => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
          = ( S2
            = ( ^ [X: r] : none_P277133687_r_l_v ) ) ) ) ) ).

% rjoin\<^sub>\<epsilon>_deterministic
thf(fact_107_substitution_Olocal__determinism,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S_1: r > option1457017436_r_l_v,S_2: r > option1457017436_r_l_v,S_22: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S_1 @ S_2 )
       => ( ( revision_step_r_l_v @ Subst @ R @ S_1 @ S_22 )
         => ( eq_states_r_l_v @ S_2 @ S_22 ) ) ) ) ).

% substitution.local_determinism
thf(fact_108_substitution_OSLC__commute,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S_33: r > option1457017436_r_l_v,S_34: r > option1457017436_r_l_v,R2: r,S_2: r > option1457017436_r_l_v,R: r,S_22: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( S_33 = S_34 )
       => ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_33 )
         => ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_34 )
           => ( ( eq_states_r_l_v @ S_33 @ S_34 )
              & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_33 )
                | ( S_2 = S_33 ) )
              & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_34 )
                | ( S_22 = S_34 ) ) ) ) ) ) ) ).

% substitution.SLC_commute
thf(fact_109_substitution_OSLC__sym,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R2: r,S_2: r > option1457017436_r_l_v,R: r,S_22: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ? [S_35: r > option1457017436_r_l_v,S_36: r > option1457017436_r_l_v] :
            ( ( eq_states_r_l_v @ S_35 @ S_36 )
            & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_35 )
              | ( S_2 = S_35 ) )
            & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_36 )
              | ( S_22 = S_36 ) ) )
       => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
            ( ( eq_states_r_l_v @ S_3 @ S_32 )
            & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_3 )
              | ( S_22 = S_3 ) )
            & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_32 )
              | ( S_2 = S_32 ) ) ) ) ) ).

% substitution.SLC_sym
thf(fact_110_expr_Odistinct_I13_J,axiom,
    ! [X1: val_r_l_v,X8: expr_r_l_v] :
      ( ( vE_r_l_v @ X1 )
     != ( rjoin_r_l_v @ X8 ) ) ).

% expr.distinct(13)
thf(fact_111_expr_Odistinct_I55_J,axiom,
    ! [X7: expr_r_l_v,X8: expr_r_l_v] :
      ( ( rfork_r_l_v @ X7 )
     != ( rjoin_r_l_v @ X8 ) ) ).

% expr.distinct(55)
thf(fact_112_substitution_Olocal__steps__commute,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S_2: r > option1457017436_r_l_v,S_1: r > option1457017436_r_l_v,R: r,X2: produc1156025366_r_l_v,S_22: r > option1457017436_r_l_v,R2: r,Y: produc1156025366_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( S_2
          = ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ X2 ) ) )
       => ( ( S_22
            = ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) )
         => ( ( revision_step_r_l_v @ Subst @ R2 @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ X2 ) ) @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ X2 ) ) @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) )
           => ( ( revision_step_r_l_v @ Subst @ R @ ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Y ) ) @ R @ ( some_P1807977723_r_l_v @ X2 ) ) )
             => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                  ( ( eq_states_r_l_v @ S_3 @ S_32 )
                  & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_3 )
                    | ( S_2 = S_3 ) )
                  & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_32 )
                    | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).

% substitution.local_steps_commute
thf(fact_113_ID__restricted__global__subset__unrestricted_I2_J,axiom,
    ! [S: r > option1457017436_r_l_v,R: r] : ( ord_less_eq_set_r @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) @ ( rID_G_r_l_v @ S ) ) ).

% ID_restricted_global_subset_unrestricted(2)
thf(fact_114_substitution_OSLC__join_092_060_094sub_062_092_060epsilon_062,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S_1: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R4: r,S_2: r > option1457017436_r_l_v,R2: r,S_22: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S_1 @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R4 ) ) ) ) ) ) ) )
       => ( ( S_2
            = ( ^ [X: r] : none_P277133687_r_l_v ) )
         => ( ( ( S_1 @ R4 )
              = none_P277133687_r_l_v )
           => ( ( revision_step_r_l_v @ Subst @ R2 @ S_1 @ S_22 )
             => ( ( R != R2 )
               => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                    ( ( eq_states_r_l_v @ S_3 @ S_32 )
                    & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_3 )
                      | ( S_2 = S_3 ) )
                    & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_32 )
                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).

% substitution.SLC_join\<^sub>\<epsilon>
thf(fact_115_substitution_Orjoin_092_060_094sub_062_092_060epsilon_062__deterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
       => ( ( ( S @ R2 )
            = none_P277133687_r_l_v )
         => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
            = ( S2
              = ( ^ [X: r] : none_P277133687_r_l_v ) ) ) ) ) ) ).

% substitution.rjoin\<^sub>\<epsilon>_deterministic
thf(fact_116_inductive__invariant__is__execution__invariant,axiom,
    ! [S: r > option1457017436_r_l_v,P: ( r > option1457017436_r_l_v ) > $o] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( ( induct1670415253_r_l_v @ subst @ P )
       => ( P @ S ) ) ) ).

% inductive_invariant_is_execution_invariant
thf(fact_117_substitution_Orevision__step__relaxed_Ofork,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E2: expr_r_l_v,R2: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) )
       => ( ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S ) )
         => ( revisi1291188644_r_l_v @ Subst @ R @ S
            @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) @ R2
              @ ( some_P1807977723_r_l_v
                @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau )
                  @ ( produc1834103605_r_l_v
                    @ ^ [X: l] : none_val_r_l_v
                    @ E2 ) ) ) ) ) ) ) ) ).

% substitution.revision_step_relaxed.fork
thf(fact_118_substitution_Orevision__step_Ofork,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E2: expr_r_l_v,R2: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rfork_r_l_v @ E2 ) ) ) ) ) )
       => ( ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S ) )
         => ( revision_step_r_l_v @ Subst @ R @ S
            @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) @ R2
              @ ( some_P1807977723_r_l_v
                @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau )
                  @ ( produc1834103605_r_l_v
                    @ ^ [X: l] : none_val_r_l_v
                    @ E2 ) ) ) ) ) ) ) ) ).

% substitution.revision_step.fork
thf(fact_119_substitution_Orevision__step__relaxed_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
       => ( ( ( S @ R2 )
            = none_P277133687_r_l_v )
         => ( revisi1291188644_r_l_v @ Subst @ R @ S
            @ ^ [X: r] : none_P277133687_r_l_v ) ) ) ) ).

% substitution.revision_step_relaxed.join\<^sub>\<epsilon>
thf(fact_120_substitution_Orevision__step_Ojoin_092_060_094sub_062_092_060epsilon_062,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
       => ( ( ( S @ R2 )
            = none_P277133687_r_l_v )
         => ( revision_step_r_l_v @ Subst @ R @ S
            @ ^ [X: r] : none_P277133687_r_l_v ) ) ) ) ).

% substitution.revision_step.join\<^sub>\<epsilon>
thf(fact_121_substitution_Oonly__fork__introduces__rids,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,E4: expr_r_l_v] :
              ( ( S @ R )
             != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( rfork_r_l_v @ E4 ) ) ) ) ) )
         => ( ord_less_eq_set_r @ ( rID_G_r_l_v @ S2 ) @ ( rID_G_r_l_v @ S ) ) ) ) ) ).

% substitution.only_fork_introduces_rids
thf(fact_122_reachable__imp___092_060S_062_092_060_094sub_062G,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( domain1547879849_r_l_v @ S ) ) ).

% reachable_imp_\<S>\<^sub>G
thf(fact_123_domains__subsume__globally__def,axiom,
    ( domain1547879849_r_l_v
    = ( ^ [S4: r > option1457017436_r_l_v] :
        ! [R5: r,Ls2: produc1156025366_r_l_v] :
          ( ( ( S4 @ R5 )
            = ( some_P1807977723_r_l_v @ Ls2 ) )
         => ( domain87684397_l_r_v @ Ls2 ) ) ) ) ).

% domains_subsume_globally_def
thf(fact_124_substitution_Orevision__step_Ocong,axiom,
    revision_step_r_l_v = revision_step_r_l_v ).

% substitution.revision_step.cong
thf(fact_125_substitution_Orevision__step__relaxed_Ocong,axiom,
    revisi1291188644_r_l_v = revisi1291188644_r_l_v ).

% substitution.revision_step_relaxed.cong
thf(fact_126_substitution_Oonly__fork__introduces__rids_H,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v,R2: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,E4: expr_r_l_v] :
              ( ( S @ R )
             != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( rfork_r_l_v @ E4 ) ) ) ) ) )
         => ( ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S ) )
           => ~ ( member_r @ R2 @ ( rID_G_r_l_v @ S2 ) ) ) ) ) ) ).

% substitution.only_fork_introduces_rids'
thf(fact_127_nice__ind__inv__is__inductive__invariant,axiom,
    ( induct1670415253_r_l_v @ subst
    @ ^ [S4: r > option1457017436_r_l_v] :
        ( ( domain1547879849_r_l_v @ S4 )
        & ( subsum680764357_r_l_v @ S4 ) ) ) ).

% nice_ind_inv_is_inductive_invariant
thf(fact_128_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ( domain1547879849_r_l_v @ S )
       => ( ( subsum680764357_r_l_v @ S )
         => ( subsum680764357_r_l_v @ S2 ) ) ) ) ).

% step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(2)
thf(fact_129_step__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ( domain1547879849_r_l_v @ S )
       => ( ( subsum680764357_r_l_v @ S )
         => ( domain1547879849_r_l_v @ S2 ) ) ) ) ).

% step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(1)
thf(fact_130_valid__stepE,axiom,
    ! [S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S @ S2 ) @ ( steps_r_l_v @ subst ) )
     => ? [R6: r] : ( revision_step_r_l_v @ subst @ R6 @ S @ S2 ) ) ).

% valid_stepE
thf(fact_131_substitution_Odomains__subsume__globallyI,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ! [R6: r,Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E4: expr_r_l_v] :
            ( ( ( S @ R6 )
              = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ E4 ) ) ) )
           => ( domain87684397_l_r_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ E4 ) ) ) )
       => ( domain1547879849_r_l_v @ S ) ) ) ).

% substitution.domains_subsume_globallyI
thf(fact_132_substitution_Otransition__relations__equivalent,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( revisi1291188644_r_l_v @ Subst @ R @ S @ S2 ) ) ) ) ).

% substitution.transition_relations_equivalent
thf(fact_133_valid__stepI,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S @ S2 ) @ ( steps_r_l_v @ subst ) ) ) ).

% valid_stepI
thf(fact_134_domains__subsume__globallyI,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ! [R6: r,Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E4: expr_r_l_v] :
          ( ( ( S @ R6 )
            = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ E4 ) ) ) )
         => ( domain87684397_l_r_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ E4 ) ) ) )
     => ( domain1547879849_r_l_v @ S ) ) ).

% domains_subsume_globallyI
thf(fact_135_maximal__execution__def,axiom,
    ! [E2: expr_r_l_v,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( maxima311842975_r_l_v @ subst @ E2 @ S @ S2 )
      = ( ( execution_r_l_v @ subst @ E2 @ S @ S2 )
        & ~ ? [S5: r > option1457017436_r_l_v] : ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S2 @ S5 ) @ ( steps_r_l_v @ subst ) ) ) ) ).

% maximal_execution_def
thf(fact_136_substitution_Osteps_Ocong,axiom,
    steps_r_l_v = steps_r_l_v ).

% substitution.steps.cong
thf(fact_137_substitution_Ovalid__stepE,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S @ S2 ) @ ( steps_r_l_v @ Subst ) )
       => ? [R6: r] : ( revision_step_r_l_v @ Subst @ R6 @ S @ S2 ) ) ) ).

% substitution.valid_stepE
thf(fact_138_substitution_Ovalid__stepI,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S @ S2 ) @ ( steps_r_l_v @ Subst ) ) ) ) ).

% substitution.valid_stepI
thf(fact_139_substitution_Oreachable_Ocong,axiom,
    reachable_r_l_v = reachable_r_l_v ).

% substitution.reachable.cong
thf(fact_140_substitution_Oinductive__invariant_Ocong,axiom,
    induct1670415253_r_l_v = induct1670415253_r_l_v ).

% substitution.inductive_invariant.cong
thf(fact_141_substitution_Oexecution_Ocong,axiom,
    execution_r_l_v = execution_r_l_v ).

% substitution.execution.cong
thf(fact_142_substitution_Onice__ind__inv__is__inductive__invariant,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( induct1670415253_r_l_v @ Subst
        @ ^ [S4: r > option1457017436_r_l_v] :
            ( ( domain1547879849_r_l_v @ S4 )
            & ( subsum680764357_r_l_v @ S4 ) ) ) ) ).

% substitution.nice_ind_inv_is_inductive_invariant
thf(fact_143_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I2_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ( domain1547879849_r_l_v @ S )
         => ( ( subsum680764357_r_l_v @ S )
           => ( subsum680764357_r_l_v @ S2 ) ) ) ) ) ).

% substitution.step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(2)
thf(fact_144_substitution_Ostep__preserves___092_060S_062_092_060_094sub_062G__and___092_060A_062_092_060_094sub_062G_I1_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ( domain1547879849_r_l_v @ S )
         => ( ( subsum680764357_r_l_v @ S )
           => ( domain1547879849_r_l_v @ S2 ) ) ) ) ) ).

% substitution.step_preserves_\<S>\<^sub>G_and_\<A>\<^sub>G(1)
thf(fact_145_substitution_Odomains__subsume__globally__def,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( domain1547879849_r_l_v @ S )
        = ( ! [R5: r,Ls2: produc1156025366_r_l_v] :
              ( ( ( S @ R5 )
                = ( some_P1807977723_r_l_v @ Ls2 ) )
             => ( domain87684397_l_r_v @ Ls2 ) ) ) ) ) ).

% substitution.domains_subsume_globally_def
thf(fact_146_substitution_Oreachability__closed__under__execution__step,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
         => ( reachable_r_l_v @ Subst @ S2 ) ) ) ) ).

% substitution.reachability_closed_under_execution_step
thf(fact_147_substitution_Oreachable__imp___092_060S_062_092_060_094sub_062G,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( domain1547879849_r_l_v @ S ) ) ) ).

% substitution.reachable_imp_\<S>\<^sub>G
thf(fact_148_substitution_Oinductive__invariant__is__execution__invariant,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,P: ( r > option1457017436_r_l_v ) > $o] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( ( induct1670415253_r_l_v @ Subst @ P )
         => ( P @ S ) ) ) ) ).

% substitution.inductive_invariant_is_execution_invariant
thf(fact_149_substitution_Oreachable__def,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
        = ( ? [E5: expr_r_l_v,S3: r > option1457017436_r_l_v] : ( execution_r_l_v @ Subst @ E5 @ S3 @ S ) ) ) ) ).

% substitution.reachable_def
thf(fact_150_SLC__join,axiom,
    ! [S_1: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R4: r,S_2: r > option1457017436_r_l_v,Tau3: l > option_val_r_l_v,Sigma3: l > option_val_r_l_v,V: val_r_l_v,R2: r,S_22: r > option1457017436_r_l_v] :
      ( ( ( S_1 @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R4 ) ) ) ) ) ) ) )
     => ( ( S_2
          = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R4 @ none_P277133687_r_l_v ) )
       => ( ( ( S_1 @ R4 )
            = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
         => ( ( revision_step_r_l_v @ subst @ R2 @ S_1 @ S_22 )
           => ( ( R != R2 )
             => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                  ( ( eq_states_r_l_v @ S_3 @ S_32 )
                  & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_3 )
                    | ( S_2 = S_3 ) )
                  & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_32 )
                    | ( S_22 = S_32 ) ) ) ) ) ) ) ) ).

% SLC_join
thf(fact_151_join__and__local__commute,axiom,
    ! [S_2: r > option1457017436_r_l_v,S_1: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,E: cntxt_r_l_v,R4: r,S_22: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,Sigma3: l > option_val_r_l_v,V: val_r_l_v] :
      ( ( S_2
        = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R4 @ none_P277133687_r_l_v ) )
     => ( ( S_22
          = ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Ls ) ) )
       => ( ( R != R2 )
         => ( ( R2 != R4 )
           => ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R4 @ none_P277133687_r_l_v ) @ R2 @ ( some_P1807977723_r_l_v @ Ls ) ) )
             => ( ( ( S_22 @ R )
                  = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R4 ) ) ) ) ) ) ) )
               => ( ( ( S_22 @ R4 )
                    = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
                 => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                      ( ( eq_states_r_l_v @ S_3 @ S_32 )
                      & ( ( revision_step_r_l_v @ subst @ R2 @ S_2 @ S_3 )
                        | ( S_2 = S_3 ) )
                      & ( ( revision_step_r_l_v @ subst @ R @ S_22 @ S_32 )
                        | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ).

% join_and_local_commute
thf(fact_152_substitution_Omaximal__execution__def,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,E2: expr_r_l_v,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( maxima311842975_r_l_v @ Subst @ E2 @ S @ S2 )
        = ( ( execution_r_l_v @ Subst @ E2 @ S @ S2 )
          & ~ ? [S5: r > option1457017436_r_l_v] : ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S2 @ S5 ) @ ( steps_r_l_v @ Subst ) ) ) ) ) ).

% substitution.maximal_execution_def
thf(fact_153_substitution_Osubsumes__accessible__globallyI,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ! [R_1: r,Sigma_1: l > option_val_r_l_v,Tau_1: l > option_val_r_l_v,E_1: expr_r_l_v,R_2: r,Sigma_2: l > option_val_r_l_v,Tau_2: l > option_val_r_l_v,E_2: expr_r_l_v] :
            ( ( ( S @ R_1 )
              = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma_1 @ ( produc1834103605_r_l_v @ Tau_1 @ E_1 ) ) ) )
           => ( ( ( S @ R_2 )
                = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma_2 @ ( produc1834103605_r_l_v @ Tau_2 @ E_2 ) ) ) )
             => ( subsum148050133_r_l_v @ R_1 @ R_2 @ S ) ) )
       => ( subsum680764357_r_l_v @ S ) ) ) ).

% substitution.subsumes_accessible_globallyI
thf(fact_154_revision__step__relaxed_Ojoin,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,Sigma3: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,V: val_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
     => ( ( ( S @ R2 )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
       => ( revisi1291188644_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R2 @ none_P277133687_r_l_v ) ) ) ) ).

% revision_step_relaxed.join
thf(fact_155_val_Oinject_I1_J,axiom,
    ! [X1: const,Y1: const] :
      ( ( ( cV_r_l_v @ X1 )
        = ( cV_r_l_v @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% val.inject(1)
thf(fact_156_terminates__in__def,axiom,
    ! [E2: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( terminates_in_r_l_v @ subst @ E2 @ S2 )
      = ( ? [S4: r > option1457017436_r_l_v] : ( maxima311842975_r_l_v @ subst @ E2 @ S4 @ S2 ) ) ) ).

% terminates_in_def
thf(fact_157_revision__step_Ojoin,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,Sigma3: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,V: val_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
     => ( ( ( S @ R2 )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
       => ( revision_step_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R2 @ none_P277133687_r_l_v ) ) ) ) ).

% revision_step.join
thf(fact_158_subsumes__accessible__globallyI,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ! [R_1: r,Sigma_1: l > option_val_r_l_v,Tau_1: l > option_val_r_l_v,E_1: expr_r_l_v,R_2: r,Sigma_2: l > option_val_r_l_v,Tau_2: l > option_val_r_l_v,E_2: expr_r_l_v] :
          ( ( ( S @ R_1 )
            = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma_1 @ ( produc1834103605_r_l_v @ Tau_1 @ E_1 ) ) ) )
         => ( ( ( S @ R_2 )
              = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma_2 @ ( produc1834103605_r_l_v @ Tau_2 @ E_2 ) ) ) )
           => ( subsum148050133_r_l_v @ R_1 @ R_2 @ S ) ) )
     => ( subsum680764357_r_l_v @ S ) ) ).

% subsumes_accessible_globallyI
thf(fact_159_rjoin__deterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,Sigma3: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,V: val_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
     => ( ( ( S @ R2 )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
       => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
          = ( S2
            = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R2 @ none_P277133687_r_l_v ) ) ) ) ) ).

% rjoin_deterministic
thf(fact_160_substitution_Omaximal__execution_Ocong,axiom,
    maxima311842975_r_l_v = maxima311842975_r_l_v ).

% substitution.maximal_execution.cong
thf(fact_161_val_Odistinct_I5_J,axiom,
    ! [X1: const,X4: r] :
      ( ( cV_r_l_v @ X1 )
     != ( rid_r_l_v @ X4 ) ) ).

% val.distinct(5)
thf(fact_162_substitution_Orevision__step_Ojoin,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,Sigma3: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,V: val_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
       => ( ( ( S @ R2 )
            = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
         => ( revision_step_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R2 @ none_P277133687_r_l_v ) ) ) ) ) ).

% substitution.revision_step.join
thf(fact_163_substitution_Orjoin__deterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,Sigma3: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,V: val_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
       => ( ( ( S @ R2 )
            = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
         => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
            = ( S2
              = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R2 @ none_P277133687_r_l_v ) ) ) ) ) ) ).

% substitution.rjoin_deterministic
thf(fact_164_substitution_Orevision__step__relaxed_Ojoin,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R2: r,Sigma3: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,V: val_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R2 ) ) ) ) ) ) ) )
       => ( ( ( S @ R2 )
            = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
         => ( revisi1291188644_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R2 @ none_P277133687_r_l_v ) ) ) ) ) ).

% substitution.revision_step_relaxed.join
thf(fact_165_substitution_Ojoin__and__local__commute,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S_2: r > option1457017436_r_l_v,S_1: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,Tau3: l > option_val_r_l_v,E: cntxt_r_l_v,R4: r,S_22: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,Sigma3: l > option_val_r_l_v,V: val_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( S_2
          = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R4 @ none_P277133687_r_l_v ) )
       => ( ( S_22
            = ( fun_up709272714_r_l_v @ S_1 @ R2 @ ( some_P1807977723_r_l_v @ Ls ) ) )
         => ( ( R != R2 )
           => ( ( R2 != R4 )
             => ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R4 @ none_P277133687_r_l_v ) @ R2 @ ( some_P1807977723_r_l_v @ Ls ) ) )
               => ( ( ( S_22 @ R )
                    = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R4 ) ) ) ) ) ) ) )
                 => ( ( ( S_22 @ R4 )
                      = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
                   => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                        ( ( eq_states_r_l_v @ S_3 @ S_32 )
                        & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_3 )
                          | ( S_2 = S_3 ) )
                        & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_32 )
                          | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.join_and_local_commute
thf(fact_166_substitution_OSLC__join,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S_1: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,R4: r,S_2: r > option1457017436_r_l_v,Tau3: l > option_val_r_l_v,Sigma3: l > option_val_r_l_v,V: val_r_l_v,R2: r,S_22: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S_1 @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( rjoin_r_l_v @ ( vE_r_l_v @ ( rid_r_l_v @ R4 ) ) ) ) ) ) ) )
       => ( ( S_2
            = ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ S_1 @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( combine_l_val_r_l_v @ Tau @ Tau3 ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) @ R4 @ none_P277133687_r_l_v ) )
         => ( ( ( S_1 @ R4 )
              = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma3 @ ( produc1834103605_r_l_v @ Tau3 @ ( vE_r_l_v @ V ) ) ) ) )
           => ( ( revision_step_r_l_v @ Subst @ R2 @ S_1 @ S_22 )
             => ( ( R != R2 )
               => ? [S_3: r > option1457017436_r_l_v,S_32: r > option1457017436_r_l_v] :
                    ( ( eq_states_r_l_v @ S_3 @ S_32 )
                    & ( ( revision_step_r_l_v @ Subst @ R2 @ S_2 @ S_3 )
                      | ( S_2 = S_3 ) )
                    & ( ( revision_step_r_l_v @ Subst @ R @ S_22 @ S_32 )
                      | ( S_22 = S_32 ) ) ) ) ) ) ) ) ) ).

% substitution.SLC_join
thf(fact_167_reachable__imp__identifiers__finite_I1_J,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( finite_finite_r @ ( rID_G_r_l_v @ S ) ) ) ).

% reachable_imp_identifiers_finite(1)
thf(fact_168_RID_092_060_094sub_062G__finite__invariant,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ( finite_finite_r @ ( rID_G_r_l_v @ S ) )
       => ( finite_finite_r @ ( rID_G_r_l_v @ S2 ) ) ) ) ).

% RID\<^sub>G_finite_invariant
thf(fact_169_reachability__closed__under__execution,axiom,
    ! [S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S @ S2 ) @ ( transi1323086383_r_l_v @ ( steps_r_l_v @ subst ) ) )
       => ( reachable_r_l_v @ subst @ S2 ) ) ) ).

% reachability_closed_under_execution
thf(fact_170_revision__step__relaxed_OifTrue,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ t ) ) @ E1 @ E22 ) ) ) ) ) )
     => ( revisi1291188644_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E1 ) ) ) ) ) ) ) ).

% revision_step_relaxed.ifTrue
thf(fact_171_empty__map__finite_I3_J,axiom,
    ( finite_finite_r
    @ ( rID_G_r_l_v
      @ ^ [X: r] : none_P277133687_r_l_v ) ) ).

% empty_map_finite(3)
thf(fact_172_expr_Oinject_I3_J,axiom,
    ! [X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v,Y31: expr_r_l_v,Y32: expr_r_l_v,Y33: expr_r_l_v] :
      ( ( ( ite_r_l_v @ X31 @ X32 @ X33 )
        = ( ite_r_l_v @ Y31 @ Y32 @ Y33 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 )
        & ( X33 = Y33 ) ) ) ).

% expr.inject(3)
thf(fact_173_revision__step_OifTrue,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ t ) ) @ E1 @ E22 ) ) ) ) ) )
     => ( revision_step_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E1 ) ) ) ) ) ) ) ).

% revision_step.ifTrue
thf(fact_174_finite__state__imp__restriction__finite_I1_J,axiom,
    ! [S: r > option1457017436_r_l_v,R: r] :
      ( ( finite_finite_r @ ( rID_G_r_l_v @ S ) )
     => ( finite_finite_r @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) ) ) ).

% finite_state_imp_restriction_finite(1)
thf(fact_175_ifTrue__deterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ t ) ) @ E1 @ E22 ) ) ) ) ) )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( S2
          = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E1 ) ) ) ) ) ) ) ) ).

% ifTrue_deterministic
thf(fact_176_expr_Odistinct_I3_J,axiom,
    ! [X1: val_r_l_v,X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v] :
      ( ( vE_r_l_v @ X1 )
     != ( ite_r_l_v @ X31 @ X32 @ X33 ) ) ).

% expr.distinct(3)
thf(fact_177_expr_Odistinct_I35_J,axiom,
    ! [X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v,X8: expr_r_l_v] :
      ( ( ite_r_l_v @ X31 @ X32 @ X33 )
     != ( rjoin_r_l_v @ X8 ) ) ).

% expr.distinct(35)
thf(fact_178_expr_Odistinct_I33_J,axiom,
    ! [X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v,X7: expr_r_l_v] :
      ( ( ite_r_l_v @ X31 @ X32 @ X33 )
     != ( rfork_r_l_v @ X7 ) ) ).

% expr.distinct(33)
thf(fact_179_substitution_Oterminates__in_Ocong,axiom,
    terminates_in_r_l_v = terminates_in_r_l_v ).

% substitution.terminates_in.cong
thf(fact_180_const_Odistinct_I3_J,axiom,
    unit != t ).

% const.distinct(3)
thf(fact_181_substitution_ORID_092_060_094sub_062G__finite__invariant,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ( finite_finite_r @ ( rID_G_r_l_v @ S ) )
         => ( finite_finite_r @ ( rID_G_r_l_v @ S2 ) ) ) ) ) ).

% substitution.RID\<^sub>G_finite_invariant
thf(fact_182_substitution_Oreachable__imp__identifiers__finite_I1_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( finite_finite_r @ ( rID_G_r_l_v @ S ) ) ) ) ).

% substitution.reachable_imp_identifiers_finite(1)
thf(fact_183_substitution_Oempty__map__finite_I3_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( finite_finite_r
        @ ( rID_G_r_l_v
          @ ^ [X: r] : none_P277133687_r_l_v ) ) ) ).

% substitution.empty_map_finite(3)
thf(fact_184_substitution_Oreachability__closed__under__execution,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( ( member1522896238_r_l_v @ ( produc1175464189_r_l_v @ S @ S2 ) @ ( transi1323086383_r_l_v @ ( steps_r_l_v @ Subst ) ) )
         => ( reachable_r_l_v @ Subst @ S2 ) ) ) ) ).

% substitution.reachability_closed_under_execution
thf(fact_185_substitution_Ofinite__state__imp__restriction__finite_I1_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( finite_finite_r @ ( rID_G_r_l_v @ S ) )
       => ( finite_finite_r @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) ) ) ) ).

% substitution.finite_state_imp_restriction_finite(1)
thf(fact_186_substitution_OifTrue__deterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ t ) ) @ E1 @ E22 ) ) ) ) ) )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( S2
            = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E1 ) ) ) ) ) ) ) ) ) ).

% substitution.ifTrue_deterministic
thf(fact_187_substitution_Orevision__step_OifTrue,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ t ) ) @ E1 @ E22 ) ) ) ) ) )
       => ( revision_step_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E1 ) ) ) ) ) ) ) ) ).

% substitution.revision_step.ifTrue
thf(fact_188_substitution_Orevision__step__relaxed_OifTrue,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ t ) ) @ E1 @ E22 ) ) ) ) ) )
       => ( revisi1291188644_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E1 ) ) ) ) ) ) ) ) ).

% substitution.revision_step_relaxed.ifTrue
thf(fact_189_substitution_Oterminates__in__def,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,E2: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( terminates_in_r_l_v @ Subst @ E2 @ S2 )
        = ( ? [S4: r > option1457017436_r_l_v] : ( maxima311842975_r_l_v @ Subst @ E2 @ S4 @ S2 ) ) ) ) ).

% substitution.terminates_in_def
thf(fact_190_revision__step__relaxed_OifFalse,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ f ) ) @ E1 @ E22 ) ) ) ) ) )
     => ( revisi1291188644_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E22 ) ) ) ) ) ) ) ).

% revision_step_relaxed.ifFalse
thf(fact_191_revision__step_OifFalse,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ f ) ) @ E1 @ E22 ) ) ) ) ) )
     => ( revision_step_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E22 ) ) ) ) ) ) ) ).

% revision_step.ifFalse
thf(fact_192_ifFalse__deterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ f ) ) @ E1 @ E22 ) ) ) ) ) )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( S2
          = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E22 ) ) ) ) ) ) ) ) ).

% ifFalse_deterministic
thf(fact_193_finite__Collect__subsets,axiom,
    ! [A4: set_set_l] :
      ( ( finite_finite_set_l @ A4 )
     => ( finite1256628466_set_l
        @ ( collect_set_set_l
          @ ^ [B4: set_set_l] : ( ord_le2116509289_set_l @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_194_finite__Collect__subsets,axiom,
    ! [A4: set_set_r] :
      ( ( finite_finite_set_r @ A4 )
     => ( finite1651563256_set_r
        @ ( collect_set_set_r
          @ ^ [B4: set_set_r] : ( ord_le363960431_set_r @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_195_finite__Collect__subsets,axiom,
    ! [A4: set_Pr1409704485_r_l_v] :
      ( ( finite1853159534_r_l_v @ A4 )
     => ( finite1619243214_r_l_v
        @ ( collec330370832_r_l_v
          @ ^ [B4: set_Pr1409704485_r_l_v] : ( ord_le803113413_r_l_v @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_196_finite__Collect__subsets,axiom,
    ! [A4: set_option_l] :
      ( ( finite2114249848tion_l @ A4 )
     => ( finite1182752216tion_l
        @ ( collect_set_option_l
          @ ^ [B4: set_option_l] : ( ord_le1506375887tion_l @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_197_finite__Collect__subsets,axiom,
    ! [A4: set_option_r] :
      ( ( finite16335230tion_r @ A4 )
     => ( finite1577687006tion_r
        @ ( collect_set_option_r
          @ ^ [B4: set_option_r] : ( ord_le1901310677tion_r @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_198_finite__Collect__subsets,axiom,
    ! [A4: set_r] :
      ( ( finite_finite_r @ A4 )
     => ( finite_finite_set_r
        @ ( collect_set_r
          @ ^ [B4: set_r] : ( ord_less_eq_set_r @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_199_finite__Collect__subsets,axiom,
    ! [A4: set_l] :
      ( ( finite_finite_l @ A4 )
     => ( finite_finite_set_l
        @ ( collect_set_l
          @ ^ [B4: set_l] : ( ord_less_eq_set_l @ B4 @ A4 ) ) ) ) ).

% finite_Collect_subsets
thf(fact_200_finite__Collect__disjI,axiom,
    ! [P: set_l > $o,Q: set_l > $o] :
      ( ( finite_finite_set_l
        @ ( collect_set_l
          @ ^ [X: set_l] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite_finite_set_l @ ( collect_set_l @ P ) )
        & ( finite_finite_set_l @ ( collect_set_l @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_201_finite__Collect__disjI,axiom,
    ! [P: set_r > $o,Q: set_r > $o] :
      ( ( finite_finite_set_r
        @ ( collect_set_r
          @ ^ [X: set_r] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite_finite_set_r @ ( collect_set_r @ P ) )
        & ( finite_finite_set_r @ ( collect_set_r @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_202_finite__Collect__disjI,axiom,
    ! [P: produc1389397445_r_l_v > $o,Q: produc1389397445_r_l_v > $o] :
      ( ( finite1853159534_r_l_v
        @ ( collec1978425008_r_l_v
          @ ^ [X: produc1389397445_r_l_v] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite1853159534_r_l_v @ ( collec1978425008_r_l_v @ P ) )
        & ( finite1853159534_r_l_v @ ( collec1978425008_r_l_v @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_203_finite__Collect__disjI,axiom,
    ! [P: option_l > $o,Q: option_l > $o] :
      ( ( finite2114249848tion_l
        @ ( collect_option_l
          @ ^ [X: option_l] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite2114249848tion_l @ ( collect_option_l @ P ) )
        & ( finite2114249848tion_l @ ( collect_option_l @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_204_finite__Collect__disjI,axiom,
    ! [P: option_r > $o,Q: option_r > $o] :
      ( ( finite16335230tion_r
        @ ( collect_option_r
          @ ^ [X: option_r] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite16335230tion_r @ ( collect_option_r @ P ) )
        & ( finite16335230tion_r @ ( collect_option_r @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_205_finite__Collect__disjI,axiom,
    ! [P: r > $o,Q: r > $o] :
      ( ( finite_finite_r
        @ ( collect_r
          @ ^ [X: r] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite_finite_r @ ( collect_r @ P ) )
        & ( finite_finite_r @ ( collect_r @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_206_finite__Collect__disjI,axiom,
    ! [P: l > $o,Q: l > $o] :
      ( ( finite_finite_l
        @ ( collect_l
          @ ^ [X: l] :
              ( ( P @ X )
              | ( Q @ X ) ) ) )
      = ( ( finite_finite_l @ ( collect_l @ P ) )
        & ( finite_finite_l @ ( collect_l @ Q ) ) ) ) ).

% finite_Collect_disjI
thf(fact_207_finite__Collect__conjI,axiom,
    ! [P: set_l > $o,Q: set_l > $o] :
      ( ( ( finite_finite_set_l @ ( collect_set_l @ P ) )
        | ( finite_finite_set_l @ ( collect_set_l @ Q ) ) )
     => ( finite_finite_set_l
        @ ( collect_set_l
          @ ^ [X: set_l] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_208_finite__Collect__conjI,axiom,
    ! [P: set_r > $o,Q: set_r > $o] :
      ( ( ( finite_finite_set_r @ ( collect_set_r @ P ) )
        | ( finite_finite_set_r @ ( collect_set_r @ Q ) ) )
     => ( finite_finite_set_r
        @ ( collect_set_r
          @ ^ [X: set_r] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_209_finite__Collect__conjI,axiom,
    ! [P: produc1389397445_r_l_v > $o,Q: produc1389397445_r_l_v > $o] :
      ( ( ( finite1853159534_r_l_v @ ( collec1978425008_r_l_v @ P ) )
        | ( finite1853159534_r_l_v @ ( collec1978425008_r_l_v @ Q ) ) )
     => ( finite1853159534_r_l_v
        @ ( collec1978425008_r_l_v
          @ ^ [X: produc1389397445_r_l_v] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_210_finite__Collect__conjI,axiom,
    ! [P: option_l > $o,Q: option_l > $o] :
      ( ( ( finite2114249848tion_l @ ( collect_option_l @ P ) )
        | ( finite2114249848tion_l @ ( collect_option_l @ Q ) ) )
     => ( finite2114249848tion_l
        @ ( collect_option_l
          @ ^ [X: option_l] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_211_finite__Collect__conjI,axiom,
    ! [P: option_r > $o,Q: option_r > $o] :
      ( ( ( finite16335230tion_r @ ( collect_option_r @ P ) )
        | ( finite16335230tion_r @ ( collect_option_r @ Q ) ) )
     => ( finite16335230tion_r
        @ ( collect_option_r
          @ ^ [X: option_r] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_212_finite__Collect__conjI,axiom,
    ! [P: r > $o,Q: r > $o] :
      ( ( ( finite_finite_r @ ( collect_r @ P ) )
        | ( finite_finite_r @ ( collect_r @ Q ) ) )
     => ( finite_finite_r
        @ ( collect_r
          @ ^ [X: r] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_213_finite__Collect__conjI,axiom,
    ! [P: l > $o,Q: l > $o] :
      ( ( ( finite_finite_l @ ( collect_l @ P ) )
        | ( finite_finite_l @ ( collect_l @ Q ) ) )
     => ( finite_finite_l
        @ ( collect_l
          @ ^ [X: l] :
              ( ( P @ X )
              & ( Q @ X ) ) ) ) ) ).

% finite_Collect_conjI
thf(fact_214_const_Odistinct_I1_J,axiom,
    unit != f ).

% const.distinct(1)
thf(fact_215_const_Odistinct_I5_J,axiom,
    f != t ).

% const.distinct(5)
thf(fact_216_const_Oinduct,axiom,
    ! [P: const > $o,Const: const] :
      ( ( P @ unit )
     => ( ( P @ f )
       => ( ( P @ t )
         => ( P @ Const ) ) ) ) ).

% const.induct
thf(fact_217_const_Oexhaust,axiom,
    ! [Y: const] :
      ( ( Y != unit )
     => ( ( Y != f )
       => ( Y = t ) ) ) ).

% const.exhaust
thf(fact_218_pigeonhole__infinite__rel,axiom,
    ! [A4: set_option_r,B5: set_option_l,R7: option_r > option_l > $o] :
      ( ~ ( finite16335230tion_r @ A4 )
     => ( ( finite2114249848tion_l @ B5 )
       => ( ! [X6: option_r] :
              ( ( member_option_r @ X6 @ A4 )
             => ? [Xa2: option_l] :
                  ( ( member_option_l @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: option_l] :
              ( ( member_option_l @ X6 @ B5 )
              & ~ ( finite16335230tion_r
                  @ ( collect_option_r
                    @ ^ [A2: option_r] :
                        ( ( member_option_r @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_219_pigeonhole__infinite__rel,axiom,
    ! [A4: set_option_r,B5: set_option_r,R7: option_r > option_r > $o] :
      ( ~ ( finite16335230tion_r @ A4 )
     => ( ( finite16335230tion_r @ B5 )
       => ( ! [X6: option_r] :
              ( ( member_option_r @ X6 @ A4 )
             => ? [Xa2: option_r] :
                  ( ( member_option_r @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: option_r] :
              ( ( member_option_r @ X6 @ B5 )
              & ~ ( finite16335230tion_r
                  @ ( collect_option_r
                    @ ^ [A2: option_r] :
                        ( ( member_option_r @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_220_pigeonhole__infinite__rel,axiom,
    ! [A4: set_Pr1409704485_r_l_v,B5: set_r,R7: produc1389397445_r_l_v > r > $o] :
      ( ~ ( finite1853159534_r_l_v @ A4 )
     => ( ( finite_finite_r @ B5 )
       => ( ! [X6: produc1389397445_r_l_v] :
              ( ( member1522896238_r_l_v @ X6 @ A4 )
             => ? [Xa2: r] :
                  ( ( member_r @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: r] :
              ( ( member_r @ X6 @ B5 )
              & ~ ( finite1853159534_r_l_v
                  @ ( collec1978425008_r_l_v
                    @ ^ [A2: produc1389397445_r_l_v] :
                        ( ( member1522896238_r_l_v @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_221_pigeonhole__infinite__rel,axiom,
    ! [A4: set_Pr1409704485_r_l_v,B5: set_l,R7: produc1389397445_r_l_v > l > $o] :
      ( ~ ( finite1853159534_r_l_v @ A4 )
     => ( ( finite_finite_l @ B5 )
       => ( ! [X6: produc1389397445_r_l_v] :
              ( ( member1522896238_r_l_v @ X6 @ A4 )
             => ? [Xa2: l] :
                  ( ( member_l @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: l] :
              ( ( member_l @ X6 @ B5 )
              & ~ ( finite1853159534_r_l_v
                  @ ( collec1978425008_r_l_v
                    @ ^ [A2: produc1389397445_r_l_v] :
                        ( ( member1522896238_r_l_v @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_222_pigeonhole__infinite__rel,axiom,
    ! [A4: set_r,B5: set_r,R7: r > r > $o] :
      ( ~ ( finite_finite_r @ A4 )
     => ( ( finite_finite_r @ B5 )
       => ( ! [X6: r] :
              ( ( member_r @ X6 @ A4 )
             => ? [Xa2: r] :
                  ( ( member_r @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: r] :
              ( ( member_r @ X6 @ B5 )
              & ~ ( finite_finite_r
                  @ ( collect_r
                    @ ^ [A2: r] :
                        ( ( member_r @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_223_pigeonhole__infinite__rel,axiom,
    ! [A4: set_r,B5: set_l,R7: r > l > $o] :
      ( ~ ( finite_finite_r @ A4 )
     => ( ( finite_finite_l @ B5 )
       => ( ! [X6: r] :
              ( ( member_r @ X6 @ A4 )
             => ? [Xa2: l] :
                  ( ( member_l @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: l] :
              ( ( member_l @ X6 @ B5 )
              & ~ ( finite_finite_r
                  @ ( collect_r
                    @ ^ [A2: r] :
                        ( ( member_r @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_224_pigeonhole__infinite__rel,axiom,
    ! [A4: set_l,B5: set_r,R7: l > r > $o] :
      ( ~ ( finite_finite_l @ A4 )
     => ( ( finite_finite_r @ B5 )
       => ( ! [X6: l] :
              ( ( member_l @ X6 @ A4 )
             => ? [Xa2: r] :
                  ( ( member_r @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: r] :
              ( ( member_r @ X6 @ B5 )
              & ~ ( finite_finite_l
                  @ ( collect_l
                    @ ^ [A2: l] :
                        ( ( member_l @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_225_pigeonhole__infinite__rel,axiom,
    ! [A4: set_l,B5: set_l,R7: l > l > $o] :
      ( ~ ( finite_finite_l @ A4 )
     => ( ( finite_finite_l @ B5 )
       => ( ! [X6: l] :
              ( ( member_l @ X6 @ A4 )
             => ? [Xa2: l] :
                  ( ( member_l @ Xa2 @ B5 )
                  & ( R7 @ X6 @ Xa2 ) ) )
         => ? [X6: l] :
              ( ( member_l @ X6 @ B5 )
              & ~ ( finite_finite_l
                  @ ( collect_l
                    @ ^ [A2: l] :
                        ( ( member_l @ A2 @ A4 )
                        & ( R7 @ A2 @ X6 ) ) ) ) ) ) ) ) ).

% pigeonhole_infinite_rel
thf(fact_226_not__finite__existsD,axiom,
    ! [P: r > $o] :
      ( ~ ( finite_finite_r @ ( collect_r @ P ) )
     => ? [X_1: r] : ( P @ X_1 ) ) ).

% not_finite_existsD
thf(fact_227_not__finite__existsD,axiom,
    ! [P: l > $o] :
      ( ~ ( finite_finite_l @ ( collect_l @ P ) )
     => ? [X_1: l] : ( P @ X_1 ) ) ).

% not_finite_existsD
thf(fact_228_finite__has__maximal2,axiom,
    ! [A4: set_set_r,A: set_r] :
      ( ( finite_finite_set_r @ A4 )
     => ( ( member_set_r @ A @ A4 )
       => ? [X6: set_r] :
            ( ( member_set_r @ X6 @ A4 )
            & ( ord_less_eq_set_r @ A @ X6 )
            & ! [Xa2: set_r] :
                ( ( member_set_r @ Xa2 @ A4 )
               => ( ( ord_less_eq_set_r @ X6 @ Xa2 )
                 => ( X6 = Xa2 ) ) ) ) ) ) ).

% finite_has_maximal2
thf(fact_229_finite__has__maximal2,axiom,
    ! [A4: set_set_l,A: set_l] :
      ( ( finite_finite_set_l @ A4 )
     => ( ( member_set_l @ A @ A4 )
       => ? [X6: set_l] :
            ( ( member_set_l @ X6 @ A4 )
            & ( ord_less_eq_set_l @ A @ X6 )
            & ! [Xa2: set_l] :
                ( ( member_set_l @ Xa2 @ A4 )
               => ( ( ord_less_eq_set_l @ X6 @ Xa2 )
                 => ( X6 = Xa2 ) ) ) ) ) ) ).

% finite_has_maximal2
thf(fact_230_finite__has__minimal2,axiom,
    ! [A4: set_set_r,A: set_r] :
      ( ( finite_finite_set_r @ A4 )
     => ( ( member_set_r @ A @ A4 )
       => ? [X6: set_r] :
            ( ( member_set_r @ X6 @ A4 )
            & ( ord_less_eq_set_r @ X6 @ A )
            & ! [Xa2: set_r] :
                ( ( member_set_r @ Xa2 @ A4 )
               => ( ( ord_less_eq_set_r @ Xa2 @ X6 )
                 => ( X6 = Xa2 ) ) ) ) ) ) ).

% finite_has_minimal2
thf(fact_231_finite__has__minimal2,axiom,
    ! [A4: set_set_l,A: set_l] :
      ( ( finite_finite_set_l @ A4 )
     => ( ( member_set_l @ A @ A4 )
       => ? [X6: set_l] :
            ( ( member_set_l @ X6 @ A4 )
            & ( ord_less_eq_set_l @ X6 @ A )
            & ! [Xa2: set_l] :
                ( ( member_set_l @ Xa2 @ A4 )
               => ( ( ord_less_eq_set_l @ Xa2 @ X6 )
                 => ( X6 = Xa2 ) ) ) ) ) ) ).

% finite_has_minimal2
thf(fact_232_finite__subset,axiom,
    ! [A4: set_r,B5: set_r] :
      ( ( ord_less_eq_set_r @ A4 @ B5 )
     => ( ( finite_finite_r @ B5 )
       => ( finite_finite_r @ A4 ) ) ) ).

% finite_subset
thf(fact_233_finite__subset,axiom,
    ! [A4: set_l,B5: set_l] :
      ( ( ord_less_eq_set_l @ A4 @ B5 )
     => ( ( finite_finite_l @ B5 )
       => ( finite_finite_l @ A4 ) ) ) ).

% finite_subset
thf(fact_234_infinite__super,axiom,
    ! [S6: set_r,T2: set_r] :
      ( ( ord_less_eq_set_r @ S6 @ T2 )
     => ( ~ ( finite_finite_r @ S6 )
       => ~ ( finite_finite_r @ T2 ) ) ) ).

% infinite_super
thf(fact_235_infinite__super,axiom,
    ! [S6: set_l,T2: set_l] :
      ( ( ord_less_eq_set_l @ S6 @ T2 )
     => ( ~ ( finite_finite_l @ S6 )
       => ~ ( finite_finite_l @ T2 ) ) ) ).

% infinite_super
thf(fact_236_rev__finite__subset,axiom,
    ! [B5: set_r,A4: set_r] :
      ( ( finite_finite_r @ B5 )
     => ( ( ord_less_eq_set_r @ A4 @ B5 )
       => ( finite_finite_r @ A4 ) ) ) ).

% rev_finite_subset
thf(fact_237_rev__finite__subset,axiom,
    ! [B5: set_l,A4: set_l] :
      ( ( finite_finite_l @ B5 )
     => ( ( ord_less_eq_set_l @ A4 @ B5 )
       => ( finite_finite_l @ A4 ) ) ) ).

% rev_finite_subset
thf(fact_238_finite__update__induct,axiom,
    ! [F: r > option1457017436_r_l_v,C: option1457017436_r_l_v,P: ( r > option1457017436_r_l_v ) > $o] :
      ( ( finite_finite_r
        @ ( collect_r
          @ ^ [A2: r] :
              ( ( F @ A2 )
             != C ) ) )
     => ( ( P
          @ ^ [A2: r] : C )
       => ( ! [A3: r,B3: option1457017436_r_l_v,F3: r > option1457017436_r_l_v] :
              ( ( finite_finite_r
                @ ( collect_r
                  @ ^ [C2: r] :
                      ( ( F3 @ C2 )
                     != C ) ) )
             => ( ( ( F3 @ A3 )
                  = C )
               => ( ( B3 != C )
                 => ( ( P @ F3 )
                   => ( P @ ( fun_up709272714_r_l_v @ F3 @ A3 @ B3 ) ) ) ) ) )
         => ( P @ F ) ) ) ) ).

% finite_update_induct
thf(fact_239_finite__update__induct,axiom,
    ! [F: l > option_val_r_l_v,C: option_val_r_l_v,P: ( l > option_val_r_l_v ) > $o] :
      ( ( finite_finite_l
        @ ( collect_l
          @ ^ [A2: l] :
              ( ( F @ A2 )
             != C ) ) )
     => ( ( P
          @ ^ [A2: l] : C )
       => ( ! [A3: l,B3: option_val_r_l_v,F3: l > option_val_r_l_v] :
              ( ( finite_finite_l
                @ ( collect_l
                  @ ^ [C2: l] :
                      ( ( F3 @ C2 )
                     != C ) ) )
             => ( ( ( F3 @ A3 )
                  = C )
               => ( ( B3 != C )
                 => ( ( P @ F3 )
                   => ( P @ ( fun_up1835647912_r_l_v @ F3 @ A3 @ B3 ) ) ) ) ) )
         => ( P @ F ) ) ) ) ).

% finite_update_induct
thf(fact_240_substitution_Orevision__step_OifFalse,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ f ) ) @ E1 @ E22 ) ) ) ) ) )
       => ( revision_step_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E22 ) ) ) ) ) ) ) ) ).

% substitution.revision_step.ifFalse
thf(fact_241_substitution_OifFalse__deterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ f ) ) @ E1 @ E22 ) ) ) ) ) )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( S2
            = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E22 ) ) ) ) ) ) ) ) ) ).

% substitution.ifFalse_deterministic
thf(fact_242_substitution_Orevision__step__relaxed_OifFalse,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,E1: expr_r_l_v,E22: expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ite_r_l_v @ ( vE_r_l_v @ ( cV_r_l_v @ f ) ) @ E1 @ E22 ) ) ) ) ) )
       => ( revisi1291188644_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ E22 ) ) ) ) ) ) ) ) ).

% substitution.revision_step_relaxed.ifFalse
thf(fact_243_reachable__imp__identifiers__available_I1_J,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( ~ ( finite_finite_r @ top_top_set_r )
       => ? [R6: r] :
            ~ ( member_r @ R6 @ ( rID_G_r_l_v @ S ) ) ) ) ).

% reachable_imp_identifiers_available(1)
thf(fact_244_local__state__of__finite__restricted__global__state__is__finite_I1_J,axiom,
    ! [S: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,R: r] :
      ( ( ( S @ R2 )
        = ( some_P1807977723_r_l_v @ Ls ) )
     => ( ( finite_finite_r @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
       => ( ( R != R2 )
         => ( finite_finite_r @ ( rID_L_l_r_v @ Ls ) ) ) ) ) ).

% local_state_of_finite_restricted_global_state_is_finite(1)
thf(fact_245_empty__map__finite_I4_J,axiom,
    ( finite_finite_l
    @ ( lID_G_r_l_v
      @ ^ [X: r] : none_P277133687_r_l_v ) ) ).

% empty_map_finite(4)
thf(fact_246_RID_092_060_094sub_062L__finite__invariant,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ( finite_finite_l @ ( lID_G_r_l_v @ S ) )
       => ( finite_finite_l @ ( lID_G_r_l_v @ S2 ) ) ) ) ).

% RID\<^sub>L_finite_invariant
thf(fact_247_reachable__imp__identifiers__finite_I2_J,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( finite_finite_l @ ( lID_G_r_l_v @ S ) ) ) ).

% reachable_imp_identifiers_finite(2)
thf(fact_248_finite__option__UNIV,axiom,
    ( ( finite16335230tion_r @ top_top_set_option_r )
    = ( finite_finite_r @ top_top_set_r ) ) ).

% finite_option_UNIV
thf(fact_249_finite__option__UNIV,axiom,
    ( ( finite2114249848tion_l @ top_top_set_option_l )
    = ( finite_finite_l @ top_top_set_l ) ) ).

% finite_option_UNIV
thf(fact_250_finite__Collect__not,axiom,
    ! [P: r > $o] :
      ( ( finite_finite_r @ ( collect_r @ P ) )
     => ( ( finite_finite_r
          @ ( collect_r
            @ ^ [X: r] :
                ~ ( P @ X ) ) )
        = ( finite_finite_r @ top_top_set_r ) ) ) ).

% finite_Collect_not
thf(fact_251_finite__Collect__not,axiom,
    ! [P: l > $o] :
      ( ( finite_finite_l @ ( collect_l @ P ) )
     => ( ( finite_finite_l
          @ ( collect_l
            @ ^ [X: l] :
                ~ ( P @ X ) ) )
        = ( finite_finite_l @ top_top_set_l ) ) ) ).

% finite_Collect_not
thf(fact_252_in__restricted__global__in__unrestricted__global_I2_J,axiom,
    ! [L: l,S: r > option1457017436_r_l_v,R: r] :
      ( ( member_l @ L @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
     => ( member_l @ L @ ( lID_G_r_l_v @ S ) ) ) ).

% in_restricted_global_in_unrestricted_global(2)
thf(fact_253_RID_092_060_094sub_062GI_I2_J,axiom,
    ! [S: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,R: r] :
      ( ( ( S @ R2 )
        = ( some_P1807977723_r_l_v @ Ls ) )
     => ( ( member_r @ R @ ( rID_L_l_r_v @ Ls ) )
       => ( member_r @ R @ ( rID_G_r_l_v @ S ) ) ) ) ).

% RID\<^sub>GI(2)
thf(fact_254_finite__state__imp__restriction__finite_I2_J,axiom,
    ! [S: r > option1457017436_r_l_v,R: r] :
      ( ( finite_finite_l @ ( lID_G_r_l_v @ S ) )
     => ( finite_finite_l @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) ) ) ).

% finite_state_imp_restriction_finite(2)
thf(fact_255_in__restricted__global__in__updated__global_I2_J,axiom,
    ! [L: l,S: r > option1457017436_r_l_v,R: r,Ls: produc1156025366_r_l_v] :
      ( ( member_l @ L @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
     => ( member_l @ L @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ Ls ) ) ) ) ) ).

% in_restricted_global_in_updated_global(2)
thf(fact_256_substitution_Oreachable__imp__identifiers__available_I2_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( ~ ( finite_finite_l @ top_top_set_l )
         => ? [L2: l] :
              ~ ( member_l @ L2 @ ( lID_G_r_l_v @ S ) ) ) ) ) ).

% substitution.reachable_imp_identifiers_available(2)
thf(fact_257_substitution_ORID_092_060_094sub_062L__finite__invariant,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ( finite_finite_l @ ( lID_G_r_l_v @ S ) )
         => ( finite_finite_l @ ( lID_G_r_l_v @ S2 ) ) ) ) ) ).

% substitution.RID\<^sub>L_finite_invariant
thf(fact_258_ID__restricted__global__subset__unrestricted_I1_J,axiom,
    ! [S: r > option1457017436_r_l_v,R: r] : ( ord_less_eq_set_l @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) @ ( lID_G_r_l_v @ S ) ) ).

% ID_restricted_global_subset_unrestricted(1)
thf(fact_259_substitution_Oreachable__imp__identifiers__finite_I2_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( finite_finite_l @ ( lID_G_r_l_v @ S ) ) ) ) ).

% substitution.reachable_imp_identifiers_finite(2)
thf(fact_260_substitution_Oempty__map__finite_I4_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( finite_finite_l
        @ ( lID_G_r_l_v
          @ ^ [X: r] : none_P277133687_r_l_v ) ) ) ).

% substitution.empty_map_finite(4)
thf(fact_261_substitution_Oreachable__imp__identifiers__available_I1_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( reachable_r_l_v @ Subst @ S )
       => ( ~ ( finite_finite_r @ top_top_set_r )
         => ? [R6: r] :
              ~ ( member_r @ R6 @ ( rID_G_r_l_v @ S ) ) ) ) ) ).

% substitution.reachable_imp_identifiers_available(1)
thf(fact_262_substitution_Ofinite__state__imp__restriction__finite_I2_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( finite_finite_l @ ( lID_G_r_l_v @ S ) )
       => ( finite_finite_l @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) ) ) ) ).

% substitution.finite_state_imp_restriction_finite(2)
thf(fact_263_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I1_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,R: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R2 )
          = ( some_P1807977723_r_l_v @ Ls ) )
       => ( ( finite_finite_r @ ( rID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
         => ( ( R != R2 )
           => ( finite_finite_r @ ( rID_L_l_r_v @ Ls ) ) ) ) ) ) ).

% substitution.local_state_of_finite_restricted_global_state_is_finite(1)
thf(fact_264_only__new__introduces__lids_H,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v,L: l] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,V2: val_r_l_v] :
            ( ( S @ R )
           != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( ref_r_l_v @ ( vE_r_l_v @ V2 ) ) ) ) ) ) )
       => ( ~ ( member_l @ L @ ( lID_G_r_l_v @ S ) )
         => ~ ( member_l @ L @ ( lID_G_r_l_v @ S2 ) ) ) ) ) ).

% only_new_introduces_lids'
thf(fact_265_local__state__of__finite__restricted__global__state__is__finite_I2_J,axiom,
    ! [S: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,R: r] :
      ( ( ( S @ R2 )
        = ( some_P1807977723_r_l_v @ Ls ) )
     => ( ( finite_finite_l @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
       => ( ( R != R2 )
         => ( finite_finite_l @ ( lID_L_l_r_v @ Ls ) ) ) ) ) ).

% local_state_of_finite_restricted_global_state_is_finite(2)
thf(fact_266_only__new__introduces__lids,axiom,
    ! [R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
     => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,V2: val_r_l_v] :
            ( ( S @ R )
           != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( ref_r_l_v @ ( vE_r_l_v @ V2 ) ) ) ) ) ) )
       => ( ord_less_eq_set_l @ ( lID_G_r_l_v @ S2 ) @ ( lID_G_r_l_v @ S ) ) ) ) ).

% only_new_introduces_lids
thf(fact_267_expr_Oinject_I4_J,axiom,
    ! [X4: expr_r_l_v,Y4: expr_r_l_v] :
      ( ( ( ref_r_l_v @ X4 )
        = ( ref_r_l_v @ Y4 ) )
      = ( X4 = Y4 ) ) ).

% expr.inject(4)
thf(fact_268_reachable__imp__identifiers__available_I2_J,axiom,
    ! [S: r > option1457017436_r_l_v] :
      ( ( reachable_r_l_v @ subst @ S )
     => ( ~ ( finite_finite_l @ top_top_set_l )
       => ? [L2: l] :
            ~ ( member_l @ L2 @ ( lID_G_r_l_v @ S ) ) ) ) ).

% reachable_imp_identifiers_available(2)
thf(fact_269_LID_092_060_094sub_062GI,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Ls: produc1156025366_r_l_v,L: l] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ Ls ) )
     => ( ( member_l @ L @ ( lID_L_l_r_v @ Ls ) )
       => ( member_l @ L @ ( lID_G_r_l_v @ S ) ) ) ) ).

% LID\<^sub>GI
thf(fact_270_expr_Odistinct_I41_J,axiom,
    ! [X4: expr_r_l_v,X7: expr_r_l_v] :
      ( ( ref_r_l_v @ X4 )
     != ( rfork_r_l_v @ X7 ) ) ).

% expr.distinct(41)
thf(fact_271_expr_Odistinct_I43_J,axiom,
    ! [X4: expr_r_l_v,X8: expr_r_l_v] :
      ( ( ref_r_l_v @ X4 )
     != ( rjoin_r_l_v @ X8 ) ) ).

% expr.distinct(43)
thf(fact_272_expr_Odistinct_I5_J,axiom,
    ! [X1: val_r_l_v,X4: expr_r_l_v] :
      ( ( vE_r_l_v @ X1 )
     != ( ref_r_l_v @ X4 ) ) ).

% expr.distinct(5)
thf(fact_273_expr_Odistinct_I27_J,axiom,
    ! [X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v,X4: expr_r_l_v] :
      ( ( ite_r_l_v @ X31 @ X32 @ X33 )
     != ( ref_r_l_v @ X4 ) ) ).

% expr.distinct(27)
thf(fact_274_LID_092_060_094sub_062GE,axiom,
    ! [L: l,S: r > option1457017436_r_l_v] :
      ( ( member_l @ L @ ( lID_G_r_l_v @ S ) )
     => ~ ! [R6: r,Ls3: produc1156025366_r_l_v] :
            ( ( ( S @ R6 )
              = ( some_P1807977723_r_l_v @ Ls3 ) )
           => ~ ( member_l @ L @ ( lID_L_l_r_v @ Ls3 ) ) ) ) ).

% LID\<^sub>GE
thf(fact_275_substitution_Oonly__new__introduces__lids_H,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v,L: l] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,V2: val_r_l_v] :
              ( ( S @ R )
             != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( ref_r_l_v @ ( vE_r_l_v @ V2 ) ) ) ) ) ) )
         => ( ~ ( member_l @ L @ ( lID_G_r_l_v @ S ) )
           => ~ ( member_l @ L @ ( lID_G_r_l_v @ S2 ) ) ) ) ) ) ).

% substitution.only_new_introduces_lids'
thf(fact_276_substitution_Oonly__new__introduces__lids,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,R: r,S: r > option1457017436_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
       => ( ! [Sigma2: l > option_val_r_l_v,Tau2: l > option_val_r_l_v,E3: cntxt_r_l_v,V2: val_r_l_v] :
              ( ( S @ R )
             != ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma2 @ ( produc1834103605_r_l_v @ Tau2 @ ( plug_r_l_v @ E3 @ ( ref_r_l_v @ ( vE_r_l_v @ V2 ) ) ) ) ) ) )
         => ( ord_less_eq_set_l @ ( lID_G_r_l_v @ S2 ) @ ( lID_G_r_l_v @ S ) ) ) ) ) ).

% substitution.only_new_introduces_lids
thf(fact_277_substitution_Olocal__state__of__finite__restricted__global__state__is__finite_I2_J,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R2: r,Ls: produc1156025366_r_l_v,R: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R2 )
          = ( some_P1807977723_r_l_v @ Ls ) )
       => ( ( finite_finite_l @ ( lID_G_r_l_v @ ( fun_up709272714_r_l_v @ S @ R @ none_P277133687_r_l_v ) ) )
         => ( ( R != R2 )
           => ( finite_finite_l @ ( lID_L_l_r_v @ Ls ) ) ) ) ) ) ).

% substitution.local_state_of_finite_restricted_global_state_is_finite(2)
thf(fact_278_domains__subsume__def,axiom,
    ( domain87684397_l_r_v
    = ( ^ [Ls2: produc1156025366_r_l_v] : ( ord_less_eq_set_l @ ( lID_L_l_r_v @ Ls2 ) @ ( doms_l_r_v @ Ls2 ) ) ) ) ).

% domains_subsume_def
thf(fact_279_revision__step_Onew,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,V: val_r_l_v,L: l] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ref_r_l_v @ ( vE_r_l_v @ V ) ) ) ) ) ) )
     => ( ~ ( member_l @ L @ ( lID_G_r_l_v @ S ) )
       => ( revision_step_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) ) ) ) ).

% revision_step.new
thf(fact_280_val_Oinject_I3_J,axiom,
    ! [X34: l,Y3: l] :
      ( ( ( loc_l_r_v @ X34 )
        = ( loc_l_r_v @ Y3 ) )
      = ( X34 = Y3 ) ) ).

% val.inject(3)
thf(fact_281_new__pseudodeterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,V: val_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ref_r_l_v @ ( vE_r_l_v @ V ) ) ) ) ) ) )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( ? [L3: l] :
              ( ~ ( member_l @ L3 @ ( lID_G_r_l_v @ S ) )
              & ( S2
                = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L3 @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( loc_l_r_v @ L3 ) ) ) ) ) ) ) ) ) ) ) ) ).

% new_pseudodeterministic
thf(fact_282_val_Odistinct_I15_J,axiom,
    ! [X34: l,X4: r] :
      ( ( loc_l_r_v @ X34 )
     != ( rid_r_l_v @ X4 ) ) ).

% val.distinct(15)
thf(fact_283_val_Odistinct_I3_J,axiom,
    ! [X1: const,X34: l] :
      ( ( cV_r_l_v @ X1 )
     != ( loc_l_r_v @ X34 ) ) ).

% val.distinct(3)
thf(fact_284_substitution_Odomains__subsume__def,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,Ls: produc1156025366_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( domain87684397_l_r_v @ Ls )
        = ( ord_less_eq_set_l @ ( lID_L_l_r_v @ Ls ) @ ( doms_l_r_v @ Ls ) ) ) ) ).

% substitution.domains_subsume_def
thf(fact_285_substitution_Onew__pseudodeterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,V: val_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ref_r_l_v @ ( vE_r_l_v @ V ) ) ) ) ) ) )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( ? [L3: l] :
                ( ~ ( member_l @ L3 @ ( lID_G_r_l_v @ S ) )
                & ( S2
                  = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L3 @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( loc_l_r_v @ L3 ) ) ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.new_pseudodeterministic
thf(fact_286_substitution_Orevision__step_Onew,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,V: val_r_l_v,L: l] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( ref_r_l_v @ ( vE_r_l_v @ V ) ) ) ) ) ) )
       => ( ~ ( member_l @ L @ ( lID_G_r_l_v @ S ) )
         => ( revision_step_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.revision_step.new
thf(fact_287_revision__step__relaxed_Oset,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,V: val_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( assign_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) @ ( vE_r_l_v @ V ) ) ) ) ) ) )
     => ( revisi1291188644_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) ) ) ).

% revision_step_relaxed.set
thf(fact_288_substitution_Orevision__step__relaxed_Oset,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,V: val_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( assign_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) @ ( vE_r_l_v @ V ) ) ) ) ) ) )
       => ( revisi1291188644_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) ) ) ) ).

% substitution.revision_step_relaxed.set
thf(fact_289_expr_Oinject_I6_J,axiom,
    ! [X61: expr_r_l_v,X62: expr_r_l_v,Y61: expr_r_l_v,Y62: expr_r_l_v] :
      ( ( ( assign_r_l_v @ X61 @ X62 )
        = ( assign_r_l_v @ Y61 @ Y62 ) )
      = ( ( X61 = Y61 )
        & ( X62 = Y62 ) ) ) ).

% expr.inject(6)
thf(fact_290_expr_Odistinct_I39_J,axiom,
    ! [X4: expr_r_l_v,X61: expr_r_l_v,X62: expr_r_l_v] :
      ( ( ref_r_l_v @ X4 )
     != ( assign_r_l_v @ X61 @ X62 ) ) ).

% expr.distinct(39)
thf(fact_291_expr_Odistinct_I51_J,axiom,
    ! [X61: expr_r_l_v,X62: expr_r_l_v,X7: expr_r_l_v] :
      ( ( assign_r_l_v @ X61 @ X62 )
     != ( rfork_r_l_v @ X7 ) ) ).

% expr.distinct(51)
thf(fact_292_expr_Odistinct_I53_J,axiom,
    ! [X61: expr_r_l_v,X62: expr_r_l_v,X8: expr_r_l_v] :
      ( ( assign_r_l_v @ X61 @ X62 )
     != ( rjoin_r_l_v @ X8 ) ) ).

% expr.distinct(53)
thf(fact_293_expr_Odistinct_I9_J,axiom,
    ! [X1: val_r_l_v,X61: expr_r_l_v,X62: expr_r_l_v] :
      ( ( vE_r_l_v @ X1 )
     != ( assign_r_l_v @ X61 @ X62 ) ) ).

% expr.distinct(9)
thf(fact_294_expr_Odistinct_I31_J,axiom,
    ! [X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v,X61: expr_r_l_v,X62: expr_r_l_v] :
      ( ( ite_r_l_v @ X31 @ X32 @ X33 )
     != ( assign_r_l_v @ X61 @ X62 ) ) ).

% expr.distinct(31)
thf(fact_295_revision__step_Oset,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,V: val_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( assign_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) @ ( vE_r_l_v @ V ) ) ) ) ) ) )
     => ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
       => ( revision_step_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) ) ) ) ).

% revision_step.set
thf(fact_296_set__deterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,V: val_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( assign_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) @ ( vE_r_l_v @ V ) ) ) ) ) ) )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
          & ( S2
            = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) ) ) ) ) ).

% set_deterministic
thf(fact_297_dom__const,axiom,
    ! [F: r > produc1156025366_r_l_v] :
      ( ( dom_r_259548057_r_l_v
        @ ^ [X: r] : ( some_P1807977723_r_l_v @ ( F @ X ) ) )
      = top_top_set_r ) ).

% dom_const
thf(fact_298_dom__const,axiom,
    ! [F: r > val_r_l_v] :
      ( ( dom_r_val_r_l_v
        @ ^ [X: r] : ( some_val_r_l_v @ ( F @ X ) ) )
      = top_top_set_r ) ).

% dom_const
thf(fact_299_dom__const,axiom,
    ! [F: l > produc1156025366_r_l_v] :
      ( ( dom_l_45837855_r_l_v
        @ ^ [X: l] : ( some_P1807977723_r_l_v @ ( F @ X ) ) )
      = top_top_set_l ) ).

% dom_const
thf(fact_300_dom__const,axiom,
    ! [F: l > val_r_l_v] :
      ( ( dom_l_val_r_l_v
        @ ^ [X: l] : ( some_val_r_l_v @ ( F @ X ) ) )
      = top_top_set_l ) ).

% dom_const
thf(fact_301_domI,axiom,
    ! [M: r > option1457017436_r_l_v,A: r,B: produc1156025366_r_l_v] :
      ( ( ( M @ A )
        = ( some_P1807977723_r_l_v @ B ) )
     => ( member_r @ A @ ( dom_r_259548057_r_l_v @ M ) ) ) ).

% domI
thf(fact_302_domI,axiom,
    ! [M: produc1389397445_r_l_v > option1457017436_r_l_v,A: produc1389397445_r_l_v,B: produc1156025366_r_l_v] :
      ( ( ( M @ A )
        = ( some_P1807977723_r_l_v @ B ) )
     => ( member1522896238_r_l_v @ A @ ( dom_Pr1162080227_r_l_v @ M ) ) ) ).

% domI
thf(fact_303_domI,axiom,
    ! [M: l > option1457017436_r_l_v,A: l,B: produc1156025366_r_l_v] :
      ( ( ( M @ A )
        = ( some_P1807977723_r_l_v @ B ) )
     => ( member_l @ A @ ( dom_l_45837855_r_l_v @ M ) ) ) ).

% domI
thf(fact_304_domI,axiom,
    ! [M: r > option_val_r_l_v,A: r,B: val_r_l_v] :
      ( ( ( M @ A )
        = ( some_val_r_l_v @ B ) )
     => ( member_r @ A @ ( dom_r_val_r_l_v @ M ) ) ) ).

% domI
thf(fact_305_domI,axiom,
    ! [M: produc1389397445_r_l_v > option_val_r_l_v,A: produc1389397445_r_l_v,B: val_r_l_v] :
      ( ( ( M @ A )
        = ( some_val_r_l_v @ B ) )
     => ( member1522896238_r_l_v @ A @ ( dom_Pr939617279_r_l_v @ M ) ) ) ).

% domI
thf(fact_306_domI,axiom,
    ! [M: l > option_val_r_l_v,A: l,B: val_r_l_v] :
      ( ( ( M @ A )
        = ( some_val_r_l_v @ B ) )
     => ( member_l @ A @ ( dom_l_val_r_l_v @ M ) ) ) ).

% domI
thf(fact_307_domD,axiom,
    ! [A: r,M: r > option1457017436_r_l_v] :
      ( ( member_r @ A @ ( dom_r_259548057_r_l_v @ M ) )
     => ? [B3: produc1156025366_r_l_v] :
          ( ( M @ A )
          = ( some_P1807977723_r_l_v @ B3 ) ) ) ).

% domD
thf(fact_308_domD,axiom,
    ! [A: produc1389397445_r_l_v,M: produc1389397445_r_l_v > option1457017436_r_l_v] :
      ( ( member1522896238_r_l_v @ A @ ( dom_Pr1162080227_r_l_v @ M ) )
     => ? [B3: produc1156025366_r_l_v] :
          ( ( M @ A )
          = ( some_P1807977723_r_l_v @ B3 ) ) ) ).

% domD
thf(fact_309_domD,axiom,
    ! [A: l,M: l > option1457017436_r_l_v] :
      ( ( member_l @ A @ ( dom_l_45837855_r_l_v @ M ) )
     => ? [B3: produc1156025366_r_l_v] :
          ( ( M @ A )
          = ( some_P1807977723_r_l_v @ B3 ) ) ) ).

% domD
thf(fact_310_domD,axiom,
    ! [A: r,M: r > option_val_r_l_v] :
      ( ( member_r @ A @ ( dom_r_val_r_l_v @ M ) )
     => ? [B3: val_r_l_v] :
          ( ( M @ A )
          = ( some_val_r_l_v @ B3 ) ) ) ).

% domD
thf(fact_311_domD,axiom,
    ! [A: produc1389397445_r_l_v,M: produc1389397445_r_l_v > option_val_r_l_v] :
      ( ( member1522896238_r_l_v @ A @ ( dom_Pr939617279_r_l_v @ M ) )
     => ? [B3: val_r_l_v] :
          ( ( M @ A )
          = ( some_val_r_l_v @ B3 ) ) ) ).

% domD
thf(fact_312_domD,axiom,
    ! [A: l,M: l > option_val_r_l_v] :
      ( ( member_l @ A @ ( dom_l_val_r_l_v @ M ) )
     => ? [B3: val_r_l_v] :
          ( ( M @ A )
          = ( some_val_r_l_v @ B3 ) ) ) ).

% domD
thf(fact_313_dom__def,axiom,
    ( dom_l_val_r_l_v
    = ( ^ [M2: l > option_val_r_l_v] :
          ( collect_l
          @ ^ [A2: l] :
              ( ( M2 @ A2 )
             != none_val_r_l_v ) ) ) ) ).

% dom_def
thf(fact_314_dom__def,axiom,
    ( dom_r_259548057_r_l_v
    = ( ^ [M2: r > option1457017436_r_l_v] :
          ( collect_r
          @ ^ [A2: r] :
              ( ( M2 @ A2 )
             != none_P277133687_r_l_v ) ) ) ) ).

% dom_def
thf(fact_315_domIff,axiom,
    ! [A: r,M: r > option_val_r_l_v] :
      ( ( member_r @ A @ ( dom_r_val_r_l_v @ M ) )
      = ( ( M @ A )
       != none_val_r_l_v ) ) ).

% domIff
thf(fact_316_domIff,axiom,
    ! [A: produc1389397445_r_l_v,M: produc1389397445_r_l_v > option_val_r_l_v] :
      ( ( member1522896238_r_l_v @ A @ ( dom_Pr939617279_r_l_v @ M ) )
      = ( ( M @ A )
       != none_val_r_l_v ) ) ).

% domIff
thf(fact_317_domIff,axiom,
    ! [A: l,M: l > option_val_r_l_v] :
      ( ( member_l @ A @ ( dom_l_val_r_l_v @ M ) )
      = ( ( M @ A )
       != none_val_r_l_v ) ) ).

% domIff
thf(fact_318_domIff,axiom,
    ! [A: r,M: r > option1457017436_r_l_v] :
      ( ( member_r @ A @ ( dom_r_259548057_r_l_v @ M ) )
      = ( ( M @ A )
       != none_P277133687_r_l_v ) ) ).

% domIff
thf(fact_319_domIff,axiom,
    ! [A: produc1389397445_r_l_v,M: produc1389397445_r_l_v > option1457017436_r_l_v] :
      ( ( member1522896238_r_l_v @ A @ ( dom_Pr1162080227_r_l_v @ M ) )
      = ( ( M @ A )
       != none_P277133687_r_l_v ) ) ).

% domIff
thf(fact_320_domIff,axiom,
    ! [A: l,M: l > option1457017436_r_l_v] :
      ( ( member_l @ A @ ( dom_l_45837855_r_l_v @ M ) )
      = ( ( M @ A )
       != none_P277133687_r_l_v ) ) ).

% domIff
thf(fact_321_finite__map__freshness,axiom,
    ! [F: r > option_val_r_l_v] :
      ( ( finite_finite_r @ ( dom_r_val_r_l_v @ F ) )
     => ( ~ ( finite_finite_r @ top_top_set_r )
       => ? [X6: r] :
            ( ( F @ X6 )
            = none_val_r_l_v ) ) ) ).

% finite_map_freshness
thf(fact_322_finite__map__freshness,axiom,
    ! [F: r > option1457017436_r_l_v] :
      ( ( finite_finite_r @ ( dom_r_259548057_r_l_v @ F ) )
     => ( ~ ( finite_finite_r @ top_top_set_r )
       => ? [X6: r] :
            ( ( F @ X6 )
            = none_P277133687_r_l_v ) ) ) ).

% finite_map_freshness
thf(fact_323_finite__map__freshness,axiom,
    ! [F: l > option_val_r_l_v] :
      ( ( finite_finite_l @ ( dom_l_val_r_l_v @ F ) )
     => ( ~ ( finite_finite_l @ top_top_set_l )
       => ? [X6: l] :
            ( ( F @ X6 )
            = none_val_r_l_v ) ) ) ).

% finite_map_freshness
thf(fact_324_finite__map__freshness,axiom,
    ! [F: l > option1457017436_r_l_v] :
      ( ( finite_finite_l @ ( dom_l_45837855_r_l_v @ F ) )
     => ( ~ ( finite_finite_l @ top_top_set_l )
       => ? [X6: l] :
            ( ( F @ X6 )
            = none_P277133687_r_l_v ) ) ) ).

% finite_map_freshness
thf(fact_325_substitution_Oset__deterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,V: val_r_l_v,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( assign_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) @ ( vE_r_l_v @ V ) ) ) ) ) ) )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
            & ( S2
              = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.set_deterministic
thf(fact_326_substitution_Orevision__step_Oset,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,V: val_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( assign_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) @ ( vE_r_l_v @ V ) ) ) ) ) ) )
       => ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
         => ( revision_step_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ ( fun_up1835647912_r_l_v @ Tau @ L @ ( some_val_r_l_v @ V ) ) @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( cV_r_l_v @ unit ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.revision_step.set
thf(fact_327_revision__step_Oget,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( read_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) )
     => ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
       => ( revision_step_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( the_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau @ L ) ) ) ) ) ) ) ) ) ) ) ).

% revision_step.get
thf(fact_328_revision__step__relaxed_Oget,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( read_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) )
     => ( revisi1291188644_r_l_v @ subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( the_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau @ L ) ) ) ) ) ) ) ) ) ) ).

% revision_step_relaxed.get
thf(fact_329__092_060S_062_092_060_094sub_062G__imp___092_060A_062__refl,axiom,
    ! [S: r > option1457017436_r_l_v,R: r] :
      ( ( domain1547879849_r_l_v @ S )
     => ( ( member_r @ R @ ( dom_r_259548057_r_l_v @ S ) )
       => ( subsum148050133_r_l_v @ R @ R @ S ) ) ) ).

% \<S>\<^sub>G_imp_\<A>_refl
thf(fact_330_subsumes__accessible__globally__def,axiom,
    ( subsum680764357_r_l_v
    = ( ^ [S4: r > option1457017436_r_l_v] :
        ! [R_12: r,R_22: r] :
          ( ( member_r @ R_12 @ ( dom_r_259548057_r_l_v @ S4 ) )
         => ( ( member_r @ R_22 @ ( dom_r_259548057_r_l_v @ S4 ) )
           => ( subsum148050133_r_l_v @ R_12 @ R_22 @ S4 ) ) ) ) ) ).

% subsumes_accessible_globally_def
thf(fact_331_expr_Oinject_I5_J,axiom,
    ! [X52: expr_r_l_v,Y5: expr_r_l_v] :
      ( ( ( read_r_l_v @ X52 )
        = ( read_r_l_v @ Y5 ) )
      = ( X52 = Y5 ) ) ).

% expr.inject(5)
thf(fact_332_option_Ocollapse,axiom,
    ! [Option: option1457017436_r_l_v] :
      ( ( Option != none_P277133687_r_l_v )
     => ( ( some_P1807977723_r_l_v @ ( the_Pr1541010602_r_l_v @ Option ) )
        = Option ) ) ).

% option.collapse
thf(fact_333_option_Ocollapse,axiom,
    ! [Option: option_val_r_l_v] :
      ( ( Option != none_val_r_l_v )
     => ( ( some_val_r_l_v @ ( the_val_r_l_v @ Option ) )
        = Option ) ) ).

% option.collapse
thf(fact_334_get__deterministic,axiom,
    ! [S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,S2: r > option1457017436_r_l_v] :
      ( ( ( S @ R )
        = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( read_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) )
     => ( ( revision_step_r_l_v @ subst @ R @ S @ S2 )
        = ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
          & ( S2
            = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( the_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau @ L ) ) ) ) ) ) ) ) ) ) ) ) ).

% get_deterministic
thf(fact_335_expr_Odistinct_I37_J,axiom,
    ! [X4: expr_r_l_v,X52: expr_r_l_v] :
      ( ( ref_r_l_v @ X4 )
     != ( read_r_l_v @ X52 ) ) ).

% expr.distinct(37)
thf(fact_336_option_Oexpand,axiom,
    ! [Option: option_val_r_l_v,Option2: option_val_r_l_v] :
      ( ( ( Option = none_val_r_l_v )
        = ( Option2 = none_val_r_l_v ) )
     => ( ( ( Option != none_val_r_l_v )
         => ( ( Option2 != none_val_r_l_v )
           => ( ( the_val_r_l_v @ Option )
              = ( the_val_r_l_v @ Option2 ) ) ) )
       => ( Option = Option2 ) ) ) ).

% option.expand
thf(fact_337_option_Oexpand,axiom,
    ! [Option: option1457017436_r_l_v,Option2: option1457017436_r_l_v] :
      ( ( ( Option = none_P277133687_r_l_v )
        = ( Option2 = none_P277133687_r_l_v ) )
     => ( ( ( Option != none_P277133687_r_l_v )
         => ( ( Option2 != none_P277133687_r_l_v )
           => ( ( the_Pr1541010602_r_l_v @ Option )
              = ( the_Pr1541010602_r_l_v @ Option2 ) ) ) )
       => ( Option = Option2 ) ) ) ).

% option.expand
thf(fact_338_expr_Odistinct_I47_J,axiom,
    ! [X52: expr_r_l_v,X7: expr_r_l_v] :
      ( ( read_r_l_v @ X52 )
     != ( rfork_r_l_v @ X7 ) ) ).

% expr.distinct(47)
thf(fact_339_expr_Odistinct_I49_J,axiom,
    ! [X52: expr_r_l_v,X8: expr_r_l_v] :
      ( ( read_r_l_v @ X52 )
     != ( rjoin_r_l_v @ X8 ) ) ).

% expr.distinct(49)
thf(fact_340_expr_Odistinct_I7_J,axiom,
    ! [X1: val_r_l_v,X52: expr_r_l_v] :
      ( ( vE_r_l_v @ X1 )
     != ( read_r_l_v @ X52 ) ) ).

% expr.distinct(7)
thf(fact_341_expr_Odistinct_I29_J,axiom,
    ! [X31: expr_r_l_v,X32: expr_r_l_v,X33: expr_r_l_v,X52: expr_r_l_v] :
      ( ( ite_r_l_v @ X31 @ X32 @ X33 )
     != ( read_r_l_v @ X52 ) ) ).

% expr.distinct(29)
thf(fact_342_expr_Odistinct_I45_J,axiom,
    ! [X52: expr_r_l_v,X61: expr_r_l_v,X62: expr_r_l_v] :
      ( ( read_r_l_v @ X52 )
     != ( assign_r_l_v @ X61 @ X62 ) ) ).

% expr.distinct(45)
thf(fact_343_option_Oexhaust__sel,axiom,
    ! [Option: option1457017436_r_l_v] :
      ( ( Option != none_P277133687_r_l_v )
     => ( Option
        = ( some_P1807977723_r_l_v @ ( the_Pr1541010602_r_l_v @ Option ) ) ) ) ).

% option.exhaust_sel
thf(fact_344_option_Oexhaust__sel,axiom,
    ! [Option: option_val_r_l_v] :
      ( ( Option != none_val_r_l_v )
     => ( Option
        = ( some_val_r_l_v @ ( the_val_r_l_v @ Option ) ) ) ) ).

% option.exhaust_sel
thf(fact_345_option_Osel,axiom,
    ! [X22: produc1156025366_r_l_v] :
      ( ( the_Pr1541010602_r_l_v @ ( some_P1807977723_r_l_v @ X22 ) )
      = X22 ) ).

% option.sel
thf(fact_346_option_Osel,axiom,
    ! [X22: val_r_l_v] :
      ( ( the_val_r_l_v @ ( some_val_r_l_v @ X22 ) )
      = X22 ) ).

% option.sel
thf(fact_347_RID_092_060_094sub_062GE,axiom,
    ! [R: r,S: r > option1457017436_r_l_v] :
      ( ( member_r @ R @ ( rID_G_r_l_v @ S ) )
     => ( ~ ( member_r @ R @ ( dom_r_259548057_r_l_v @ S ) )
       => ~ ! [R8: r,Ls3: produc1156025366_r_l_v] :
              ( ( ( S @ R8 )
                = ( some_P1807977723_r_l_v @ Ls3 ) )
             => ~ ( member_r @ R @ ( rID_L_l_r_v @ Ls3 ) ) ) ) ) ).

% RID\<^sub>GE
thf(fact_348_substitution_O_092_060S_062_092_060_094sub_062G__imp___092_060A_062__refl,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( domain1547879849_r_l_v @ S )
       => ( ( member_r @ R @ ( dom_r_259548057_r_l_v @ S ) )
         => ( subsum148050133_r_l_v @ R @ R @ S ) ) ) ) ).

% substitution.\<S>\<^sub>G_imp_\<A>_refl
thf(fact_349_substitution_Osubsumes__accessible__globally__def,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( subsum680764357_r_l_v @ S )
        = ( ! [R_12: r,R_22: r] :
              ( ( member_r @ R_12 @ ( dom_r_259548057_r_l_v @ S ) )
             => ( ( member_r @ R_22 @ ( dom_r_259548057_r_l_v @ S ) )
               => ( subsum148050133_r_l_v @ R_12 @ R_22 @ S ) ) ) ) ) ) ).

% substitution.subsumes_accessible_globally_def
thf(fact_350_substitution_Orevision__step__relaxed_Oget,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( read_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) )
       => ( revisi1291188644_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( the_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau @ L ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.revision_step_relaxed.get
thf(fact_351_substitution_Oget__deterministic,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l,S2: r > option1457017436_r_l_v] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( read_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) )
       => ( ( revision_step_r_l_v @ Subst @ R @ S @ S2 )
          = ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
            & ( S2
              = ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( the_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau @ L ) ) ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.get_deterministic
thf(fact_352_substitution_Orevision__step_Oget,axiom,
    ! [Subst: expr_r_l_v > v > expr_r_l_v > expr_r_l_v,S: r > option1457017436_r_l_v,R: r,Sigma: l > option_val_r_l_v,Tau: l > option_val_r_l_v,E: cntxt_r_l_v,L: l] :
      ( ( substitution_r_l_v @ Subst )
     => ( ( ( S @ R )
          = ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( read_r_l_v @ ( vE_r_l_v @ ( loc_l_r_v @ L ) ) ) ) ) ) ) )
       => ( ( member_l @ L @ ( dom_l_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau ) ) )
         => ( revision_step_r_l_v @ Subst @ R @ S @ ( fun_up709272714_r_l_v @ S @ R @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ Sigma @ ( produc1834103605_r_l_v @ Tau @ ( plug_r_l_v @ E @ ( vE_r_l_v @ ( the_val_r_l_v @ ( combine_l_val_r_l_v @ Sigma @ Tau @ L ) ) ) ) ) ) ) ) ) ) ) ) ).

% substitution.revision_step.get

% Helper facts (5)
thf(help_If_2_1_If_001t__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_T,axiom,
    ! [X2: option_val_r_l_v,Y: option_val_r_l_v] :
      ( ( if_option_val_r_l_v @ $false @ X2 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_T,axiom,
    ! [X2: option_val_r_l_v,Y: option_val_r_l_v] :
      ( ( if_option_val_r_l_v @ $true @ X2 @ Y )
      = X2 ) ).

thf(help_If_3_1_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_T,axiom,
    ! [X2: option1457017436_r_l_v,Y: option1457017436_r_l_v] :
      ( ( if_opt1153928738_r_l_v @ $false @ X2 @ Y )
      = Y ) ).

thf(help_If_1_1_If_001t__Option__Ooption_It__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Product____Type__Oprod_I_062_Itf__l_Mt__Option__Ooption_It__Data__Oval_Itf__r_Mtf__l_Mtf__v_J_J_J_Mt__Data__Oexpr_Itf__r_Mtf__l_Mtf__v_J_J_J_J_T,axiom,
    ! [X2: option1457017436_r_l_v,Y: option1457017436_r_l_v] :
      ( ( if_opt1153928738_r_l_v @ $true @ X2 @ Y )
      = X2 ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ s_1 @ r2 @ ( some_P1807977723_r_l_v @ x ) ) @ r3 @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ sigma @ ( produc1834103605_r_l_v @ tau @ ( plug_r_l_v @ e @ ( vE_r_l_v @ ( rid_r_l_v @ r4 ) ) ) ) ) ) ) @ r4
      @ ( some_P1807977723_r_l_v
        @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ sigma @ tau )
          @ ( produc1834103605_r_l_v
            @ ^ [X: l] : none_val_r_l_v
            @ e2 ) ) ) )
    = ( fun_up709272714_r_l_v
      @ ( fun_up709272714_r_l_v @ ( fun_up709272714_r_l_v @ s_1 @ r3 @ ( some_P1807977723_r_l_v @ ( produc297528454_r_l_v @ sigma @ ( produc1834103605_r_l_v @ tau @ ( plug_r_l_v @ e @ ( vE_r_l_v @ ( rid_r_l_v @ r4 ) ) ) ) ) ) ) @ r4
        @ ( some_P1807977723_r_l_v
          @ ( produc297528454_r_l_v @ ( combine_l_val_r_l_v @ sigma @ tau )
            @ ( produc1834103605_r_l_v
              @ ^ [X: l] : none_val_r_l_v
              @ e2 ) ) ) )
      @ r2
      @ ( some_P1807977723_r_l_v @ x ) ) ) ).

%------------------------------------------------------------------------------